Part Number Hot Search : 
EC110 74LVC57 IRF540 SK70WT 74VHC27 SKB5207 Z600LA20 A8140130
Product Description
Full Text Search
 

To Download GT-48002A Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  GT-48002A switched fast ethernet controller for 100basex preliminary rev. revision 1.2 8/19/97 please contact galileo technology for possible updates before finalizing a design. features www.galileot.com support@galileot.com tel: +1-408.451.1400 fax: +1-408.451.1404 ? single-chip, low cost, switched fast ethernet controller - provides packet switching functions between two 10/100mbps, auto-negotiated on-chip fast ethernet ports and the pci expansion port - switch expansion via 1gbps pci bus - ideal uplink/server connect for the 10 mbps gt- 48001a switched ethernet controller ? galnet architecture family member - connects seamlessly to other galnet family devices including gt-48001a 10basex and gt- 48003 100vg-anylan controllers ? incorporates two 802.3 compliant 10/100mbps media access controllers - direct interface to mii (media independent interface) - half/full duplex support (up to 200 mbps/port) - ieee 802.3 100base-tx, t4, and fx compatible ? full mii management support (mdc/mdio) via cpu ? auto-negotiation supported through mii interface ? crc generation for cpu generated packets ? high-performance distributed switching engine - performs forwarding and filtering at full wire speed - 148,800 packets/s on each ethernet port - flexible software or hardware intervention in packet routing decisions ? direct support for packet buffering - glueless interface to 1or 2mbyte of 60ns edo dram - up to 1k buffers, 1536-bytes each, dynamically allocated to the receive and pci ports ? supports store and forward switching approach - low last-bit in to first-bit out delay - allows bridging between higher/lower speed interfaces (fddi, atm, wan) ? high observability led interface - 6 parallel led outputs per port, including internal monostable function to enable viewing of dynamic signals - 3 pin serial led interface for additional status information per port ? advanced address recognition - intelligent address recognition mechanism enables forwarding rate at full wire speed - self-learning mechanism - supports up to 8k unicast addresses and unlimited multicast/broadcast addresses - broadcast storm filtering ? pci rev 2.1 interface for switch expansion and management cpu connection - up to 3 GT-48002A devices per pci bus segment without pci-to-pci bridging - up to 32 galnet devices in a single switch - standard cpu connection for management - simple interface to other networking interfaces (atm, fddi, etc.) ? extensive network management support - repeater mib and pci counters - address aging support - hardware assist for spanning tree algorithm - rmon station-to-station connectivity matrix - cpu access to address table - ability to define static addresses - monitoring (sniffer) mode ? hp-ease packet sampling management technology - takes snapshots of packets at programmable intervals - allows for the implementation of hp-ease or sampled rmon with low-cost cpus ? 208 pin pqfp package dma transmit receive collision forwarding unknown sniffer half/full duplex status switching engine pci bus data address control self-learning & address recognition engine dram controller frame controller g al n et controller rmon fifo control control pci counters 2 x mib counters pci address table statistics counters configuration registers intervention mode control packet buffers serial switching g al n et sniffer control miscellaneous 2x led control dma pci bus controller 10/100 mbps mii interface port 0 rx fifo tx fifo 10/100 mbps mii interface port 1 rx fifo tx fifo receive buffer full
GT-48002A switched fast ethernet controller 2 revision 1.2 contents 1. functional overview .......................................................................................................... .6 1.1 the galnet switching architecture .......................................................................................... ................ 6 1.2 fast ethernet ports ........................................................................................................ .......................... 6 1.3 address recognition ........................................................................................................ ........................ 7 1.4 cpu packet routing ......................................................................................................... ....................... 7 1.5 intervention mode .......................................................................................................... ........................... 7 1.6 network management features ................................................................................................ ............... 7 1.7 dram interface ............................................................................................................. ........................... 7 1.8 pci interface .............................................................................................................. .............................. 8 2. pin information .............................................................................................................. ...... 9 2.1 logic symbol ............................................................................................................... ............................. 9 2.2 pin functions and assignment .............................................................................................. ................10 3. operational overview ....................................................................................................... 15 3.1 enabling/disabling the GT-48002A ........................................................................................... .............15 3.2 basic operation ............................................................................................................ ..........................15 3.3 address learning ........................................................................................................... ........................16 3.4 packet buffering ........................................................................................................... ..........................16 3.5 packet forwarding .......................................................................................................... .......................16 3.6 the galnet protocol ........................................................................................................ .......................16 3.7 terminology ................................................................................................................ ............................16 4. mac address learning process...................................................................................... 18 4.1 address recognition ........................................................................................................ ......................18 4.2 recovery process ........................................................................................................... .......................18 4.3 address aging .............................................................................................................. ..........................19 4.4 static addresses ........................................................................................................... .........................19 4.5 address recognition failure ................................................................................................ ..................19 5. GT-48002A buffers and queues ...................................................................................... 20 5.1 rx buffer threshold programming ............................................................................................ .............21 6. packet forwarding ............................................................................................................ 22 6.1 forwarding a unicast packet to a local port ................................................................................ .........22 6.2 forwarding a unicast packet to a port in a different galnet device .....................................................22 6.3 forwarding a multicast packet .............................................................................................. .................23 6.3.1 local ports ............................................................................................................... ...............23 6.3.2 between galnet devices .................................................................................................... ....23 6.3.2.1 cpu disabled .........................................................................................................23 6.3.2.2 cpu enabled ..........................................................................................................23 6.4 forwarding a packet to the cpu directly .................................................................................... ...........24 6.5 forwarding a packet from the cpu to a galnet device ........................................................................ 26 6.6 crc generation ............................................................................................................. ........................27 6.7 tx watchdog timer .......................................................................................................... ......................27 7. device table operation .................................................................................................... 28 7.1 automatic device table initialization ...................................................................................... ................28 7.2 manual device table initialization ......................................................................................... .................28 7.3 programming device numbers ................................................................................................. .............28
switched fast ethernet controller revision 1.2 3 8. unicast intervention mode ................................................................................................ 29 8.1 unicast intervention mode address space .................................................................................... ........ 30 9. address table ................................................................................................................ .... 31 10. galnet messaging protocol .............................................................................................. 33 10.1 galnet protocol region .................................................................................................... ..................... 33 10.2 galnet messages between devices ........................................................................................... .......... 35 10.2.1 new_address message between galnet devices ............................................................ 35 10.2.2 buffer_request message between galnet devices ...................................................... 36 10.2.3 start_of_packet message between galnet devices ..................................................... 36 10.2.4 packet_transfer message between galnet devices .................................................... 37 10.2.5 end_of_packet message between galnet devices ......................................................... 37 10.3 galnet messages between a galnet device and a cpu ...................................................................... 38 10.3.1 new_address message (galnet to cpu) ......................................................................... 38 10.3.2 new_address message (cpu to galnet) ......................................................................... 39 10.3.3 buffer_request message (galnet to cpu) ................................................................... 40 10.3.4 buffer_request message (cpu to galnet) ................................................................... 40 10.3.5 start_of_packet message (galnet to cpu).................................................................. 41 10.3.6 start_of_packet message (cpu to galnet).................................................................. 41 10.3.7 packet_transfer message (galnet to cpu 16 block buffer)........................................ 42 10.3.8 packet_transfer message (galnet to cpu in unicast intervention mode)................... 42 10.3.9 packet_transfer message (cpu to galnet) ................................................................. 43 10.3.10 end_of_packet message (galnet to cpu 16 block buffer)............................................. 44 10.3.11 end_of_packet message (galnet to cpu in unicast intervention mode) ....................... 44 10.3.12 end_of_packet message (cpu to galnet) ...................................................................... 45 11. pci bus operation ........................................................................................................... .. 46 11.1 pci configuration header registers ........................................................................................ ............. 46 11.2 accessing dram and internal registers through the pci interface ...................................................... 46 11.3 pci bandwidth/performance issues .......................................................................................... ............ 46 11.4 plug-and-play considerations in pci systems ............................................................................... ....... 47 11.5 unused pci bus in stand-alone systems ..................................................................................... ........ 47 11.6 pci bus arbiter in multiple galnet device systems ......................................................................... ..... 47 12. fast ethernet interfaces .................................................................................................... 48 12.1 10/100 mii compatible interface ........................................................................................... ................. 48 12.2 media access control (mac) ................................................................................................ ................ 48 12.3 auto-negotiation .......................................................................................................... ........................... 48 12.3.1 disabled................................................................................................................. ................. 48 12.3.2 enabled .................................................................................................................. ................ 48 12.3.3 auto-negotiation control per port........................................................................................ ... 49 12.3.4 auto-negotiation, software detection .................................................................................... 5 0 12.4 backoff algorithm options ................................................................................................. .................... 50 12.5 data blinder .............................................................................................................. ............................. 50 12.6 inter-packet gap (ipg) .................................................................................................... ...................... 50 12.7 10/100 mbps mii transmission .............................................................................................. ................ 50 12.8 10/100 mbps mii reception ................................................................................................. .................. 51 12.9 10/100 mbps full-duplex operation ......................................................................................... ............. 52 12.10 illegal frames ........................................................................................................... ............................. 52 12.11 partition mode ........................................................................................................... ............................. 52 12.11.1 enabling partition mode ................................................................................................. ........ 52 12.11.2 entering partition state................................................................................................ ........... 52 12.11.3 exiting from partition state ............................................................................................ ......... 52
GT-48002A switched fast ethernet controller 4 revision 1.2 12.12 back-pressure ............................................................................................................ ............................52 12.13 vlan tagging support ..................................................................................................... .....................53 13. mii management interface (smi)....................................................................................... 54 13.1 smi cycles ............................................................................................................... .............................54 13.1.1 smi timing requirements.................................................................................................. .....54 13.2 link detection and link detection bypass (forcelinkpass*) ...............................................................5 6 14. network management support ........................................................................................ 57 14.1 repeater mib and pci counters ............................................................................................ ...............57 14.2 station-to-station connectivity matrix .................................................................................... ................57 14.2.1 data structure format.................................................................................................... .........58 14.3 monitoring (sniffer) mode ................................................................................................. ......................59 14.4 spanning tree support ..................................................................................................... .....................59 14.5 broadcast storm filtering ................................................................................................. ......................59 15. hp-ease packet sampling technology ......................................................................... 60 15.1 hp ease technology overview ............................................................................................... .............60 15.2 ease functionality on the GT-48002A ....................................................................................... ...........61 15.3 ease_register ............................................................................................................. ...........................61 15.4 ease interrupts ........................................................................................................... ...........................61 15.5 sampled packet indication ................................................................................................. ....................62 15.6 error source indications .................................................................................................. .......................63 15.7 enabling/disabling ease functionality ..................................................................................... .............64 15.8 interaction with other GT-48002A features ................................................................................. .........64 16. dram interface and usage .............................................................................................. 65 17. led support ................................................................................................................. ..... 65 17.1 led indications interface description ..................................................................................... ................65 17.2 detailed led signal description ........................................................................................... .................65 17.2.1 primary port status led .................................................................................................. .......65 17.2.1.1 primary port status led in mode 0: (ledmode input is low) .............................66 17.2.1.2 status led blink timing (mode 0) ...........................................................................66 17.2.1.3 primary port status led (mode 1): (ledmode input is high)..............................66 17.2.2 transmit data in progress ................................................................................................ .......67 17.2.3 receive data in progress ................................................................................................. .......67 17.2.4 collision active ......................................................................................................... ...............67 17.2.5 full/half duplex ......................................................................................................... ..............67 17.2.6 receive buffer full...................................................................................................... ............67 17.2.7 forwarding of unknown packets enabled................................................................................67 17.2.8 the port is configured as sniffer ........................................................................................ .....67 17.2.9 link fail state .......................................................................................................... ...............67 17.2.10 partition state......................................................................................................... .................68 17.2.11 secondary port status led ............................................................................................... .....68 17.2.12 pure port status led.................................................................................................... ..........68 17.3 led signals timing type ................................................................................................... ....................68 17.3.1 static led signals ....................................................................................................... ...........68 17.3.2 dynamic internal signals: ................................................................................................ .......68 17.4 serial led interface description .......................................................................................... ..................68 17.4.1 table of internal activities/status driven via the serial led interface..................................69 17.5 parallel led interface description ........................................................................................ .................70
switched fast ethernet controller revision 1.2 5 18. interrupts .................................................................................................................. .......... 71 19. reset configuration ........................................................................................................ 7 1 19.1 configuration pins ........................................................................................................ ......................... 71 19.2 configuration input timings ............................................................................................... .................... 71 20. switch expansion ............................................................................................................ .. 72 21. development tools........................................................................................................... .73 21.1 evaluation platforms ...................................................................................................... ........................ 73 21.2 verilog models ............................................................................................................ ........................... 73 21.3 reference designs ......................................................................................................... ....................... 73 21.4 complimentary products .................................................................................................... ................... 73 22. register tables ............................................................................................................. ..... 74 22.1 register map .............................................................................................................. ........................... 74 22.2 internal control registers ................................................................................................ ...................... 75 22.3 port mib counters (2 blocks), offset: 0x040000 - 0x0400ac ................................................................ 8 4 22.4 pci global counters, offset: 0x140040 - 0x140044 .......................................................................... ... 88 22.5 smi register, offset: 0x14004c ............................................................................................ ................. 88 22.6 pci configuration registers ............................................................................................... ................... 88 23. pinout for 208 pin pqfp (sorted by number) ................................................................. 92 23.1 package/pin drawing ....................................................................................................... ..................... 94 24. dc characteristics - preliminary/subject to change ........................................ 95 24.1 absolute maximum ratings .................................................................................................. ................. 95 24.2 recommended operating conditions .......................................................................................... .......... 95 24.3 dc electrical characteristics over operating range ........................................................................ .... 95 24.4 thermal data .............................................................................................................. ........................... 96 25. ac timing - preliminary/subject to change....................................................... 97 26. functional waveforms ...................................................................................................... 99 26.1 pci read/write cycle ...................................................................................................... .................... 100 27. packaging ................................................................................................................... ...... 101
GT-48002A switched fast ethernet controller 6 revision 1.2 1. functional overview the GT-48002A is a high-performance, low-cost, switched fast ethernet controller that provides packet switching functions between two, on-chip, 10/100mbps, auto-negotiated ports and the 1gbps pci backplane. the GT-48002A uses the innovative galnet switching architecture to allow expansion to additional ethernet, fast ethernet and 100vg- anylan ports. the GT-48002A is backwards compatible with the gt-48002. 1.1 the galnet switching architecture the galnet switching architecture is based on a proprietary messaging protocol using the industry standard pci bus as a medium. galnet devices are designed to connect seamlessly allowing packets to be switched between devices without processor intervention (see figure 1). each galnet device acts as an intelligent agent, sharing information between all other devices in the system. for example, when one galnet device learns a new address, it automatically updates all other galnet devices via the new_address message. galnet messages are defined as write-only (request/response) in order to achieve the maximum bandwidth from the pci bus. the galnet architecture family currently consists of three products: the gt-48001a (eight ports of 10basex), the gt- 48002a (two ports of 100basex), and the gt-48003 (two ports of 100vg-anylan). in addition, galileo technology provides a number of other complementary pci interface products for popular microprocessors. 1.2 fast ethernet ports the GT-48002A integrates two fast ethernet ports. each port works at 10/100mbps (half-duplex) or 20/200mbps (full- duplex). two media independent interfaces (mii) are provided for glueless connection to off-the-shelf phy chips. the GT-48002A supports full auto-negotation for capable phys. therefore, the speed (10 or 100 mbps) and duplex (half or full) which the phy resolves to operate is automatically reported to the GT-48002A in both managed and unmanaged systems. the port can also be forced to operate in a certain mode, if so desired. each port includes the media access control function (mac) and six leds for link status, collision, receive transmit, half/full duplex and receive buffer full indications. the GT-48002A incorporates full mii management support. the mdc/mdio pins are directly con- trolled by the cpu. figure 1: typical 16-port 10-mbps plus 2-port 100-mbps unmanaged switch implementation req/gnt pair pci bus gt-48001a 8-port 10basex switch 8 10basex ports gt-48001a 8-port 10basex switch 8 10basex ports GT-48002A 2-port 100basex switch 2 100basex ports pci bus arbiter req/gnt pair notes: 1) required phy circuitry and magnetics not shown 2) pci bus arbiter is typically implemented in a pal 3) edo drams per device are not shown
switched fast ethernet controller revision 1.2 7 1.3 address recognition each GT-48002A in a system can recognize up to 8,000 different unicast mac addresses and unlimited multicast/ broadcast mac addresses. an intelligent address recognition mechanism enables filtering and forwarding packets at full fast ethernet wire speed. hardware assist for address aging and static addresses is also included. the GT-48002A provides an address self-learning mechanism. each device has a private address table located in its dram array. as the GT-48002A learns new addresses, it updates all address tables in the system via the galnet mes- saging protocol. 1.4 cpu packet routing the GT-48002A has the capability to automatically forward certain packets to the cpu for routing including: ? unicast packets with a destination address tagged for the cpu ? multicast packets ? unknown packets (packets with mac addresses that have not been recognized) this gives the system designer the flexibility to decide how to handle such packets in a managed system. 1.5 intervention mode the GT-48002A incorporates an enhanced feature called intervention mode . this feature permits software or hardware intervention in the packet routing decision mechanisms for unicast packets. when intervention mode is selected for a mac address, the GT-48002A sends the packet to the system cpu instead of switching it as usual. this capability can be used for many functions including: layer 3 routing, security, virtual lan support, filtering and management. 1.6 network management features the GT-48002A provides comprehensive management capabilities enabling the switch oem to implement a wide range of network management features. for oems offering rmon capability, the GT-48002A provides per-port statistics counters and pci traffic counters. in addition, the GT-48002A provides station-to-station connectivity matrix information and the ability to select a port to work in monitoring (sniffer) mode. also included in the GT-48002A is a unique packet sampling capability invented by the hewlett-packard company called hp-ease (embedded advanced sampling environment.) each port has the ability to take snapshots of packet data at programmable intervals. these samples are forwarded to the management cpu for processing. the samples can be used to implement hp-ease compatible messages for openview environments, or to create custom manage- ment information bases such as statistical rmon. since packets are sampled using this technology, much less local processing is required over standard rmon implementations. source addresses of every errored packet are also sent to the cpu allowing switch oem to support error counters in rmon host and matrix groups. also included in the GT-48002A is hardware assistance for address aging and bridge spanning tree algorithms. 1.7 dram interface each galnet device in the system requires its own, separate edo dram buffer space. the dram is used to store the incoming/outgoing packets as well as the address table and other device data structures. the interface to edo dram is glueless; all signals needed to control edo devices are included. for more information, see section 16.
GT-48002A switched fast ethernet controller 8 revision 1.2 1.8 pci interface switch expansion and access to internal management features is possible with the GT-48002As pci interface. the GT-48002A can be either a master initiating a pci bus operation or a target responding to a pci bus operation. up to three GT-48002A devices can reside on the same pci bus segment, forwarding packets from one port to the other without cpu intervention. 1 by using pci-to-pci bridge devices 2 , the switch can be expanded to up to 32 galnet devices (gt-48001as, GT-48002As or gt-48003s). the pci bus may also used to connect to an optional cpu for management, or to connect other high speed lan adapt- ers such as atm and fddi. 1. three GT-48002A is due to a bandwidth limitation when simultaneously transmitting 64 byte packets at 200mbps (full-duplex) b etween devices on all six ports. typical network traffic is only a fraction of full-wire speed and most systems can support much more than three GT-48002As per pci bus segment. ten devices is the physical limit of the pci specification. please refer to the pci bus section of this data sheet for performance limitations. 2. 32 to 64 bit pci bridges are recommended when bridging several devices for additional bandwidth. contact galileo for more in forma- tion.
switched fast ethernet controller revision 1.2 9 2. pin information 2.1 logic symbol rst* clk req* gnt* perr* serr* devsel* stop* frame* par trdy* irdy* ad[31:0] cbe[3:0]* ddata[31:0] ras[1:0]* cas* we* GT-48002A idsel daddr[8:0] (1)(2) dram mii 32 4 int* interface 9 leddata ledstb ledclk miscellaneous interface pci interface 32 2 rstqueue* endev* chipsel* (1) - pins[8,5:0] sampled at reset to establish device number and dram parameters (2) - pins[7:6] sampled at reset to establish half/full duplex mode per port (1= full duplex) scan* tristate* txclk[1:0] txd0[3:0 ] col[1:0] rxd0[3:0] rxer[1:0] 2 2 4 2 4 2 rxclk[1:0] rxdv[1:0] crs[1:0] 2 2 2 txd1[3:0] 4 rxd1[3:0] 4 mdc mdio txen[1:0] mac0led[5:0] mac1led[5:0] 6 6 skipinit* enelscrubing* diswd* forcelinkpass* (3) (3) - pin sampled at reset to force the link status of all ports to link up state (0 =force link up) interface ledmode limit4 configmode disbufthr* enautoneg*
GT-48002A switched fast ethernet controller 10 revision 1.2 2.2 pin functions and assignment symbol type description pci bus interface rst* i reset: active low. rst* must be asserted for at least 10 pci clock cycles. when in the reset state, all pci output pins are tristated and all open drain sig- nals are floated. following rst* deassertion, the GT-48002A clears the internal buffers and initializes the address table in the dram. the address table initial- ization takes 165,000 clk cycles to complete. any incoming packets during the address table initialization, are ignored. clk i clock: provides the timing for the GT-48002A internal units. all functional units except for the serial interfaces use this clock.clk also provides timing for pci bus transactions. the clock frequency is 33mhz. req* o bus request: asserted by the GT-48002A to indicate to the pci bus arbiter that this device requires mastership of the bus. gnt* i bus grant: indicates to the GT-48002A that access to the pci bus is granted. perr* i/o parity error: asserted when a data parity error is detected on the pci bus. serr* o system error: asserted by the GT-48002A when an address parity error is detected on the pci bus. the GT-48002A asserts serr* two cycles after the failing address. this output features an open-collector driver. idsel i initialization device select: asserted by a pci bus master to gain access to the GT-48002As configuration header during configuration read/write transac- tions. devsel* i/o device select: asserted by the target of the current pci access. when the GT-48002A is a bus master, it expects the target to assert devsel* within 5 bus cycles, confirming the access. if the target does not assert devsel* within the required bus cycles, the GT-48002A aborts the cycle. as a target, the gt- 48002a asserts devsel* as a medium speed pci device (two cycles after the assertion of frame*). stop* i/o stop: indicates that the current target is requesting the bus master to stop the current transaction. as a master, the GT-48002A responds to the assertion of stop* by either disconnecting, retrying, or aborting. as a target, the gt- 48002a asserts stop* to force a retry. frame* i/o cycle frame: asserted by the GT-48002A to indicate the beginning and dura- tion of a master transaction. frame* is asserted to indicate the beginning of the cycle. while frame* is asserted, data transfer continues. frame* is deasserted to indicate that the next data phase is the final data phase transaction. frame* is monitored when the GT-48002A acts as a target, to detect a configuration or memory transaction. par i/o parity: calculated by the GT-48002A as an even parity bit for the ad[31:0] and cbe[3:0]* lines. trdy* i/o target ready: indicates the target agents ability to complete the current data phase of the transaction. a data phase is completed on any clock when both trdy* and irdy* are asserted. wait cycles are inserted until both irdy* and trdy* are asserted together. irdy* i/o initiator ready: indicates the bus masters ability to complete the current data phase of the transaction. a data phase is completed on any clock when both trdy* and irdy* are asserted. wait cycles are inserted until both irdy* and trdy* are asserted together.
switched fast ethernet controller revision 1.2 11 ad[31:0] i/o address/data: 32-bit multiplexed pci address and data lines. during the first clock of the transaction, ad[31:0] contains a physical byte address (32 bits). during subsequent clock cycles, ad[31:0] contains data. cbe[3:0]* i/o bus command/byte enable: during the address phase of the pci transac- tion, cbe[3:0]* provide the bus command. during the data phase, cbe[3:0]* provide byte enables, which determine which bytes carry valid data. int* o interrupt request line: int* is asserted by the GT-48002A when one (or more) of the bits in the interrupt cause register is set. this output features an open-collector driver. dram interface ddata[31:0] i/o dram data: 32-bit edo dram data bus. these signals connect directly to the data input/output pins of the dram devices. daddr[8:0] i/o dram multiplexed address bus: in normal operation, daddr[8:0] contain the dram multiplexed row/column address. during reset, these multiplexed pins are sampled by the GT-48002A to indicate the device number and the dram parameters (see reset configuration section 19.) values are deter- mined by connecting pull-up/pull-down resistors. the device number and the dram size are read by the cpu from the status register. ras[1:0]* o row address strobes: dram row address strobes. ras[0]* is used for bank 0. ras[1]* is used for bank 1. cas* o column address strobe: dram column address strobe. the GT-48002A always accesses 32-bit values and does not require a separate cas* for each byte. we* o write enable: dram write enable. chipsel* o fifo chip select: chipsel* asserted by the GT-48002A when a packets des- tination port(s), byte count, destination address and source address are read from the dram. this information can be stored in an external fifo and accessed by the management cpu for station-to-station connectivity matrix information. media independent interface txen[1:0] o transmit enable: active high. this output indicates that the packet is being transmitted. txen is synchronous to txclk. txclk[1:0] i transmit clock: provides the timing reference for the transfer of txen, txd signals. txclk frequency is one fourth of the data rate (25 mhz for 100mbps, 2.5 mhz for 10mbps). txclk nominal frequency should match the nominal fre- quency of rxclk for the same port. txd0[3:0] o transmit data 0: outputs the port0 transmit data. synchronous to txclk[0]. txd1[3:0] o transmit data 1: outputs the port1 transmit data. synchronous to txclk[1]. col[1:0] i collision detect: active high. indicates a collision has been detected on the wire. this input is ignored in full-duplex mode, and in half-duplex mode when txen of the same port is low. col is not synchronous to any clock. rxd0[3:0] i receive data 0: port 0 receive data. synchronous to rxclk[0]. rxd1[3:0] i receive data 1: port 1 receive data. synchronous to rxclk[1]. rxer[1:0] i receive error . active high. indicates that an error was detected in the received frame. this input is ignored when rxdv for the same port is inactive. symbol type description
GT-48002A switched fast ethernet controller 12 revision 1.2 rxclk[1:0] i receive clock . provides the timing reference for the transfer of the rxdv, rxd, rxer signals (per port). operates at either 25 mhz (100mbps) or 2.5 mhz (10mbps). the nominal frequency of rxclk (per port) should match the nominal frequency of that ports txclk. rxdv[1:0] i receive data valid: active high. indicates that valid data is present on the rxd lines. synchronous to rxclk. this input is ignored when it represents loopback of the transmitted packet in 10baset mode half-duplex. crs[1:0] i carrier sense: active high. indicates that either the transmit or receive medium is non-idle. crs is not synchronous to any clock. mdc o management data clock: 1 mhz clock. provides the timing reference for the transfer of the mdio signal. this output may be connected to the phy devices of both ports. mdio i/o management data input/output: this bidirectional line is used to transfer control information and status between the phy and the GT-48002A. it con forms with ieee std 802.3. this signal may be connected to the phy devices of both ports. when not in use, this pin must be connected to a pull-down resis- tor. miscellaneous interface pins enautoneg* i enable auto-negotiation: active low. the GT-48002A controls the auto- negotiation process and configures both ports to the correct speed and duplex as resolved by each ports phy. when high, auto-negotiation is disabled and the duplex setting of both ports is set based on the reset configuration. see section 12.3.3 for more information on auto-negotiation control per port. configmode i memory request configuration mode: this pin is sampled on rst* and is useful for plug and play environments only. for more information, see sec- tion 11.4. when low, the GT-48002A requests 4 mbytes of pci address space. when the dram base address register is read back, it will report 0xffc0.0000 (bits [21:0] are 0). when high, the GT-48002A requests 128 mbytes of pci address space. when the dram base address register is read back, it will report 0xf800.0000 (bits [27:0] are 0). forcelinkpass* i/o force link pass: active low. this pin is sampled on rst*. when connected high, the link status of the ports is read through the smi (mdc/mdio inter- face) from the phy devices (register#1, bit#2). when connected low, the link status of all ports remains in the link is up state regardless of the phys link bit value. this pin should be connected to either a pull-up (normally) or a pull- down resistor (to force the link pass). following rst* deassertion, this pin becomes an output (unused - value is undefined). ledmode i led mode select: affects port status led, ledclk frequency and led on time values. for more information, see section 17. 0 - select ledmode 0 1 - select ledmode 1 leddata o led data: led indicators (link status, receive, transmit, collision, unknown, port sniffer, and half/full duplex) of each port. the data is shifted out in 128 bit long frames using the ledclk and ledstb pins. ledstb o led strobe: indicates the beginning of valid data frame on the leddata pin. ledclk o led clock: 1 mhz clock (at ledmode 0), 202 khz clock (at ledmode 1). this output is used to clock the ledstb and leddata outputs. during reset, ledclk is tristated. symbol type description
switched fast ethernet controller revision 1.2 13 mac0led[5:0] o mac leds for port 0: active low parallel led outputs for port 0 bit [0]: port status (operation according to ledmode) bit [1]: transmit in progress (txen active) bit [2]: receive in progress (rxdv active) bit [3]: collision (col active) bit [4]: full duplex (port configured to full duplex) bit [5]: receive buffer full (programmable limit exceeded) an external driver is required to drive the leds. mac1led[5:0] o mac leds for port 1: active low parallel led outputs for port 1 same as mac0led rstqueue* i reset transmit queues: when asserted, all internal transmit and receive queues are cleared. all GT-48002A state machines are moved to their initial state. endev* i enable device: enables serial and pci ports. when asserted low, all serial ports and the pci port are active. when deasserted, the ports and the pci are disabled (see section 3.1). scan* i scan: this pin together with tristate* indicate the GT-48002A mode of opera- tion as follows: factory test modes are reserved and are not to be used in-system. failure to observe this restriction could result in damage to the device. tristate* i tri-state: this pin together with scan* indicate the GT-48002A mode of oper- ation as described above. diswd* i disable watchdog timer: active low. diswd* controls the enabling (high) or disabling (low) of the tx watchdog timer on all ports. disbufthr* i buffer threshold: active low. this pin externally enables or disables the buffer threshold. when high, the buffers allocated to the ports and the pci are limited to the number written in the rx buffer threshold register. when low, the buffers are dynamically allocated to the ports and the pci bus (i.e. there is no limitation on the buffers allocation.) limit4 i backoff algorithm: this pin selects the number of retransmit attempts after a collision will occur before the back-off alogorithm is restarted. when low, 16 retransmit attempts after a collision must occur before the back-off alogorithm is restarted (802.3 standard). when high, 4 retransmit attempts after a colli- sion must occur before the back-off alogorithm is restarted (more aggressive.) symbol type description scan* tristate* mode 1 1 normal operation 0 1 factory test mode (reserved) 1 0 the GT-48002A drives all out- puts and i/o pins to high imped- ance. 0 0 factory test mode (reserved)
GT-48002A switched fast ethernet controller 14 revision 1.2 enelscrub* enable empty list scrubing: for testing purposes only. must be pulled high. skipinit* i skip initialization stage: active low. this pin controls the initialization stage of the GT-48002A. when asserted, the GT-48002A skips the initializa- tion stage (clearing the address table which is stored in the dram), upon the deassertion of rst*. this pin is typically used for testing and the default state is to pull this pin high. symbol type description
switched fast ethernet controller revision 1.2 15 3. operational overview the galnet architecture family of switching devices has been defined as an extensible, scalable architecture for the switching of packetized data. the galnet architecture family currently supports ethernet (gt-48001a), fast ethernet (GT-48002A), and 100vg-anylan (gt-48003.) galileo technology will extend the innovative galnet family to include other communications standards including wan in the near future. all galnet architecture family devices act as distributed intelligent agents within a switching system. each galnet device makes switching decisions independent of other devices in the system, and can communicate information regarding the network to all other agents. this distributed processing approach is a significant performance improve- ment over switching architectures that rely on centralized switching engines or single-point address recognition devices. unlike centralized resource approaches, galnet designs can actually add packet processing capability as additional ports are added. the galnet architecture family uses a store-and-forward switching approach. store-and-forward was chosen for the following reasons: ? store-and-forward switches allow switching between differing speed media (e.g. 10basex and 100basex.) such switches require the large elastic buffers that are provided by the edo dram arrays. ? store-and-forward switches improve overall network performance by acting as a network cache, effectively buffering packets during times of heavy congestion. ? store-and-forward switches prevent the forwarding of corrupted packets by analyzing the frame check sequence (fcs) before forwarding to the destination port. a typical unmanaged galnet architecture system is extremely simple to implement as shown in figure 1 on page 6. no cpu is needed as each galnet device is intelligent and capable of sharing network information and packet data auton- omously. a cpu may be added to provide network management capability. 3.1 enabling/disabling the GT-48002A ports of the GT-48002A can be enabled and disabled depending on the combination of: ? an external hardware pin, endev* (low - device enabled, high - device disabled) ? enabledevice, bit 27 of the global control register (0 - device status based on endev*, 1 - device enabled) ? porten, bit 0 of each port control register, (0 - port disabled, 1 - port enabled) when a port is disabled, no packets will be received or transmitted from the serial ports or the pci bus. even though ports are disabled, another pci master can read from and write to the GT-48002As registers. see table 1 for enabling or disabling ports of the GT-48002A. table 1: enabling/disabling ports of the GT-48002A 3.2 basic operation the basic operation of the GT-48002A is quite simple. the GT-48002A receives incoming packets from the fast ether- net wire, searches in the address table for the destination mac address and then forwards the packet to the appropri- ate port. the destination port can be either be local (one of the GT-48002As ports) or in a different GT-48002A device endev* pin enabledevice bit porten bit port status low 0 0 disabled low 0 1 enabled low 1 0 disabled low 1 1 enabled high 0 0 disabled high 0 1 disabled high 1 0 disabled high 1 1 enabled
GT-48002A switched fast ethernet controller 16 revision 1.2 that resides on the same pci bus. if the destination address is not found, the GT-48002A treats the packet as a multi- cast packet and forward the packet to all ports of all devices in the system specified to forward unknown packets. the GT-48002A automatically learns the port number of attached network devices by examining the source mac address of all incoming packets. if the source address is not found in the GT-48002As address table, the device adds it to the table (with an indication of on which port the address resides). the GT-48002A then notifies other galnet devices in the system of the new address via a new_address message. 3.3 address learning the GT-48002A can learn up to 8k unique mac addresses. addresses are stored in the address table located in dram. the address table is managed automatically by the GT-48002A (i.e. a new address is automatically added to the address table). the GT-48002As address learning process is outlined in section 4. the address table includes information regarding target port, aging status, static/dynamic status, and flags to force processor intervention. the management cpu has the ability to insert, remove or modify the entries. 3.4 packet buffering incoming packets are buffered in the dram array. these buffers provide elastic storage for transferring data between low-speed and high-speed segments. the packet buffers are managed automatically by the GT-48002A. 3.5 packet forwarding once an address has been learned, and the packet is buffered, it must be forwarded. the packet forwarding mecha- nism for the GT-48002A is handled automatically based on the destination address. optionally, the cpu can be involved in unicast packet forwarding decisions by using intervention mode. if a cpu is utilized for system manage- ment functions, multicast packets will be forwarded to the cpu for forwarding decisions. 3.6 the galnet protocol the GT-48002A uses a proprietary inter-chip communication protocol on the pci bus known as the galnet protocol messages. the protocol consists of five groups of messages: new_address, buffer_request, start_of_packet, packet_transfer, and end_of_packet. all galnet messages are write-only . for example, a GT-48002A may request a buffer location in another galnet device by writing a buffer_request message to the target device. the target device responds by writing a start_of_packet message to the requesting GT-48002A.. read transactions are strictly avoided since they tend to stall the pci bus, thereby wasting precious bandwidth. 3.7 terminology it is important to understand the basic terminology used to describe the galnet architecture family before getting into the detailed description. table 2 explains the terms used throughout this document. table 2: terminology term definition address table the address table is a data structure in the GT-48002As dram that con- tains all learned mac addresses, and routing information associated with those addresses. source address the source address (sa) is the mac address from which a received packet was sent. destination address the destination address (da) is the mac address to which a received packet was sent.
switched fast ethernet controller revision 1.2 17 device number each galnet device in a system (including the cpu, if any) has a specific device number. there are 32 possible device numbers. port number each ethernet port on a galnet device has an associated port number. the galnet device associates port numbers with the mac addresses located on those ports. table 2: terminology term definition
GT-48002A switched fast ethernet controller 18 revision 1.2 4. mac address learning process the GT-48002A has a self-learning mechanism for learning the mac addresses of attached fast ethernet devices in real time. the GT-48002A searches for the source address (sa) of an incoming packet in the address table and acts as follows: if the sa was not found in the address table (a new address), the GT-48002A waits until the end of the packet (non errored packet) and updates the address table. it also notifies the other GT-48002A devices and the cpu by sending a separate new_address message to each galnet device on the pci bus. if a cpu is enabled in the system (bit 10 of the global control register, 0x140028), the new_address message can optionally be forwarded to the cpu (bit 7 in the global control register, 0x140028). this message contains the new mac address, the device number and the port number. 1. if the sa was found, the GT-48002A compares all fields of the new_address message to the entry in the address table. if any fields differ (and the static bit in the address table is 0 1 ), the GT-48002A updates the entry with the new information in the new_address message and notifies the other GT-48002A devices and the cpu. if the device and port numbers are equal, the packet is not switched (i.e. this packet was destined for a device on the same network segment and does not require forwarding.) 2. if the sa was found in the address table, the aging bit is set. this is done to indicate to the aging software that this address was accessed recently. the cpu can access the address table to modify, remove or to add a mac address. this is accomplished by perform- ing a new_address message (section 10.3.2) on the pci bus. 4.1 address recognition the GT-48002A forwards the incoming packets to the appropriate port(s) according to destination address (da) as fol- lows: 1. if the da is a unicast address and the address was found in the address table, the GT-48002A acts as follows: ? if the port number and the device number are equal to the port/device on which the packet was received, the packet is discarded. ? if the port number is different, but the device number is equal, the packet is forwarded to the appropriate local port. ? if the device number is different, the packet is forwarded to the appropriate GT-48002A device via the pci bus. 2. if the da is a unicast address and the address was not found (unknown), the GT-48002A acts as if it the unknown packet is a multicast packet and forwards it to ports and the devices that have been programmed to receive unknown packets (bit 4 in the command register). 3. if the da is a multicast address, the packet is forwarded to all the local ports (except for the port in which the packet was received). it is also forwarded to all the other devices via the pci bus. this procedure is outlined in section 6.3. 4.2 recovery process the purpose of the recovery process is to guarantee that address tables entries in all the devices correlate. when the packet is unknown, the source GT-48002A sends a new_address message to all the devices. each device searches its own address table for the new address. more than one device can find the address, but only one device owns this address (the device number written in the address table is equal to its own device number). this particu- lar device updates the source GT-48002As address table with the new address (by in turn sending it a new_address message). 1. static address table entries cannot be modified, as described in section 4.4.
switched fast ethernet controller revision 1.2 19 4.3 address aging the GT-48002A includes hardware support for address aging, which requires the use of a cpu to be implemented. the GT-48002A gives an indication to the cpu of the relative age of an address by setting the aging bit in the address table when it receives a packet. the cpu reads the aging bit each aging period (the default from the 802.12d specification is 300 seconds) and clears the bit. if in the next period, the bit remains clear, the cpu knows that this sta- tion didn't transmit any packet in this period of time and the address can be removed from the table. note that the aging bit is set only in the GT-48002A device that received the packet; other GT-48002As in the system are not notified since, by definition, the receiving device owns the address. the only time the GT-48002A will delete an entry by itself is when a user changes the location of a station. the gt- 48002a will then automatically learn the new location of the station the next time the station sends a packet. 4.4 static addresses the GT-48002A includes support for static mac addresses. ieee 802.1d chapter 3.9.1: "static entries may be added to and removed from the filtering database under explicit management control. they are not automatically removed by any timeout mechanism". this means that when an address is selected to be static, it will not be removed from the address table during aging. during normal address recognition, if an address is static, the GT-48002A will not update its address table parameters and will not send a new_address message over the pci (if the address has changed ports.) 4.5 address recognition failure it is possible that an address recognition cycle will fail when more than 8k addresses have already been entered into the address table. in the case of an address recognition failure the packet will be treated as unknown and forwarded to all ports. an interrupt is also generated to the cpu (if any.) address recognition failures are not fatal and do not need to be handled (e.g. designers of unmanaged systems need not worry about them.) managed systems may want to clean the address table of old addresses when such a failure occurs (see address aging on page 19).
GT-48002A switched fast ethernet controller 20 revision 1.2 5. GT-48002A buffers and queues the GT-48002A incorporates three transmit queues for the 2 ethernet ports and the pci bus port, and one common receive buffer area (see figure 2.) the receive buffers as well as the transmit queues are located in the dram along with the address table. dram address mapping in the GT-48002A is shown in table 3. the GT-48002A data structure components are the following: ? receive buffer - a common receive buffer area for all ports. the buffer is divided into 320 or 1008 blocks (depending on the dram size) of 1.5kbytes (1536 bytes) each. each block contains the entire packet. ? rx empty list - a list of 320 or 1008 bits. each bit contains the status of its appropriate receive block in the dram (empty or occupied). ? tx descriptors - a set of 3 transmit descriptor rings. each ring contains 1024 descriptors. the descriptor size is one 32-bit word and contains the block address divided by 0x600 (1.5k), the byte count and the packet type (multicast or unicast). ? read/write pointers - 3 pairs of pointers to the transmit descriptors. figure 2: GT-48002A buffers and queues read pointer write pointer 21 byte count blk addr 10 9 0 frame #0 frame #1 frame #2 receive buffer (for all ports and pci) tx descriptors: 1024 x 3 rx empty list dram GT-48002A m/u 20 frame #n
switched fast ethernet controller revision 1.2 21 table 3: GT-48002A dram address mapping 5.1 rx buffer threshold programming the number of receive buffers allocated to each port of the GT-48002A is controlled by the rxbufthr field in the rx buffer threshold register and the disbufthr* pin. the default value is 80 buffers per port for 1mb dram and 140 buff- ers per port for 2mb dram. if the buffer threshold is disabled (by clearing the bufthren bit in the global control regis- ter or if the disbufthr* pin is held low) the GT-48002A dynamically allocates the buffers to the 2 ethernet ports and the pci bus port. in other words, there are no limits on each buffers allocation. the rx buffer threshold value can be used to tune performance during development. see table 4 for rx buffer threshold settings. if a received packet over- flows the rx buffer allowance, then that packet will be discarded and the dropped packets counter will be incremented. the overflow of the rx buffer threshold is also indicated by the receive buffer full led in the serial and parallel led interfaces (rx buffer threshold must be enabled). table 4: setting the rx buffer threshold memory description 1mbyte 2mbyte rx buffers 320 buffers for 1mbyte 1008 buffers for 2 mbyte 0x00000 - 0x7cfff 0x00000 - 0x17cfff pci tx descriptor 0x7d000 - 0x08efff 0x17d000 - 0x18efff pci rx descriptor 0x8f000 - 0x9afff 0x18f000 - 0x19afff reserved 4kbytes 0x9b000 - 0x09bfff 0x19b000 - 0x19bfff tx descriptor 0x09c000 - 0x09ffff 0x19c000 - 0x19ffff address table 0xa0000 - 0xfffff 0x1a0000 - 0x1fffff disbufthr* pin bufthren bit result high 1 receive buffer size is limited to the value of rxbufthr high 0 dynamic receive buffer allocation low 1 dynamic receive buffer allocation low 0 dynamic receive buffer allocation
GT-48002A switched fast ethernet controller 22 revision 1.2 6. packet forwarding the following sections describe the procedures for forwarding packets in the following situations: ? a unicast packet to a local port in the same galnet device (section 6.1) ? a unicast packet between galnet devices (section 6.2) ? a multicast packet to local ports in the same galnet device (section 6.3.1) ? a multicast packet between galnet devices in a system without a cpu (section 6.3.2.1) ? a multicast packet between galnet devices in a system with a cpu (section 6.3.2.2) ? a packet destined for the cpu, multicast, or unicast packet from a galnet device to the cpu (section 6.4) ? a unicast/multicast packet from the cpu to a galnet device (section 6.5) 6.1 forwarding a unicast packet to a local port the sequence for forwarding a unicast packet to a local port (port in the same GT-48002A) is as follows: 1. the incoming packet is fed to the rx fifo (there is an 20x32-bit rx fifo per port) and is transferred to an empty block in the receive buffer area of dram. 2. in parallel, an address recognition cycle is performed for both the da and the sa. the GT-48002A uses the das corresponding port number to queue the packet to the appropriate local port. 3. at the end of an error-free packet transfer, packet information is written to the appropriate ports transmit descriptor. this information includes the byte count and the receive buffer block address which is pointed to by the write pointer. 4. the write pointer of the outgoing ports transmit descriptor is incremented. the target galnet device transmits whenever the write pointer is not equal to the read pointer. 5. at the end of the packet transmit process, the target galnet device increments the read pointer and clears the appropriate bit in the empty list. 6.2 forwarding a unicast packet to a port in a different galnet device the sequence for forwarding a unicast packet to a port in a different galnet device located on the pci bus is as fol- lows: 1. the incoming packet is fed to the rx fifo and is transferred to an empty block in the receive buffer area of dram. 2. in parallel, an address recognition cycle is performed for both the da and the sa. the GT-48002A uses the das corresponding port number and device number to queue the packet to the appropriate galnet device and port. 3. at the end of an error-free packet transfer, packet information is written to the pcis transmit descriptor. this infor- mation includes the byte count and receive buffer block address which is pointed to by the write pointer. when the pcis transmit descriptors write pointer is not equal to the read pointer, the source galnet device sends a buffer_request message (section 10.2.2) to the appropriate target galnet device indicating that there is a packet for transmission across the pci bus. 4. the target galnet device receives this message and allocates a buffer in its dram. this target device then sends a start_of_packet message (section 10.2.3) back to the source GT-48002A indicating it is ready to receive the packet. 5. the source GT-48002A transfers the packet with the packet_transfer message (section 10.2.4) using pci master operations in multiple eight 32-bit bursts. the packet is buffered in the receive buffer area of the target devices dram. after the entire packet has been transmitted, the source GT-48002A performs an additional write transaction by sending the end_of_packet message (section ) indicating completion of the packet transfer. this message contains the byte count, the target port number, the rx block address, and the packet type. the
switched fast ethernet controller revision 1.2 23 source GT-48002A also clears the appropriate bit in its empty list. 6. some packet information included in the end_of_packet message is written to the appropriate transmit descriptor in the target device. this information includes the byte count and the receive buffer address which is pointed to by the write pointer. 7. the write pointer of the outgoing ports transmit descriptor is incremented. the target galnet device transmits whenever the write pointer is not equal to the read pointer. 8. at the end of the packet transmit process, the target galnet device increments the read pointer and clears the appropriate bit in the empty list. 6.3 forwarding a multicast packet the GT-48002A forwards multicast packets to all local ports and devices using the same mechanism as described for unicast packets. the GT-48002A has the ability to forward multicast packets to a management cpu for intervention routing, if desired. 6.3.1 local ports for local ports in the same device, the packet is queued to all transmit ports except for the port which the packet arrived and the packet is transferred with the same procedure outlined in section 6.1 to each port. 6.3.2 between galnet devices forwarding multicast packets to other galnet devices is handled differently depending if a cpu is disabled or enabled in the system or not. 6.3.2.1 cpu disabled systems which do not utilize a cpu (bit 10 of the global control register, 0x140028, is not set) will automatically for- ward multicast packets to all of the local ports and devices with the following procedure: 1. the incoming packet is fed to the rx fifo and is transferred to an empty block in the receive buffer area of dram. 2. in parallel, an address recognition cycle is performed for the sa. the da marks this packet as a multicast packet. at the end of a good packet transfer, packet is forwarded to all of the local ports according to section 6.3.1. this multicast packet is also forwarded to the other galnet devices in the system with the same procedure as forward- ing a unicast packet from one device to another. this procedure is outlined in section 6.2. there is a single, sepa- rate, multicast packet transfer from the source GT-48002A to each of the galnet devices in the system. bit 21 of data 0 of the buffer_request message (section 10.2.2) will be set to indicate this is a multicast packet. 6.3.2.2 cpu enabled systems which utilize a cpu (bit 10 of the global control register, 0x140028, is set), will always have multicast pack- ets forwarded to the cpu. this allows the cpu to intervene, if necessary, and redirect or update the multicast packet before forwarding. control of forwarding multicast packets to all of the ports is set by bit 22 of the global control regis- ter. the default setting is to forward all multicast packets to all of the ports in the system as well as the cpu. if this bit is set, multicast packets will go only to the cpu. assuming bit 22 is not set and all multicast packets are forwarded to the cpu as well as all of the ports, the procedure for handling multicast packets is as follows: 1. the incoming packet is fed to the rx fifo and is transferred to an empty block in the receive buffer area of dram.
GT-48002A switched fast ethernet controller 24 revision 1.2 2. in parallel, an address recognition cycle is performed for both the da and the sa. the da marks this packet as a multicast packet. at the end of a good packet transfer, packet is forwarded to all of the local ports according to sec- tion 6.3.1. this multicast packet is also forwarded to the other galnet devices in the system with the same proce- dure as forwarding a unicast packet from one device to another. this procedure is outlined in section 6.2. there is a single, separate, multicast packet transfer from the source GT-48002A to each of the galnet devices in the sys- tem. bit 21 of data 0 of the buffer_request message (section 10.2.2) will be set to indicate this is a multicast packet. 3. packet information is also written to the pcis transmit descriptor which instructs the GT-48002A to send this multi- cast packet to the cpu. this multicast packet is then forwarded directly to the cpu with the procedure outlined in section 6.4. again, if bit 22 is set, all multicast packets will only be forwarded to the cpu and not to the local ports, nor other ports of other galnet devices. the cpu can then decide to what ports the multicast packet should be sent to. only one packet needs to be sent to each galnet device and each device will automatically forward the packet only to the ports that the cpu tagged for that specific multicast packet. these ports are tagged in bits [29:22] of the end_of_packet message. 6.4 forwarding a packet to the cpu directly systems which utilize a cpu (bit 10 of the global control register, 0x140028, is set) will forward certain packets directly to the management cpus memory. these packets include: ? unicast packets destined for the cpu (device number in the address table is equal to the cpu number) ? multicast packets ? unknown packets (if set by bit 6 in the global control register, 0x140028) ? bpdu messages ? sniffer packets when the cpu is the target sniffer ? ease packets the GT-48002A contains two pointers to a sixteen block buffer area in the cpus memory space. the registers are called the cpu base address (cba) and cpu base address shadow (cbas.) these registers are physically located at the same address in the GT-48002A (0x140034). the first write to this register updates the cba register, the second write updates the shadow register (cbas). figure 3 shows the data structure in the cpu memory.
switched fast ethernet controller revision 1.2 25 figure 3: cpu memory data structure the data structure components are the following: ? cpu base address register (cba) 1 - a register that points to the beginning of a sixteen block area in cpu memory. ? cpu base address shadow register (cbas) - a second register that holds a pointer to a second sixteen block area in the cpu main memory. the value in the shadow register propagates into the base address reg- ister after sixteen packets are transferred to the main memory. ? buffer area - the cpu buffer area consists of 16 blocks of 2kbytes each. the first word (word #0) of each block contains the sniffer indication [31], ease indication [17:15], source port numbers [14:12], byte count (bits [11:1]), and the valid bit (bit 0). these bits are written as the end_of_packet (section 10.3.10) mes- sage transferred from the source GT-48002A to the cpu at the end of a valid packet transfer. words 1 to 7 are left empty for user purposes. the communication between the GT-48002A and the cpu follows this sequence: 1. cpu updates the cba (1st write to 0x140034). 2. cpu updates the cbas (2nd write to 0x140034). 3. GT-48002A transfers 16 packets to the cpu main memory and asserts the int* at the end of each packet transfer. 4. the cpu must count sixteen interrupts and then update the shadow register in the GT-48002A (write to 0x140034). also, the bufwrap interrupt can be checked instead of counting sixteen interrupts. in other words, the cpu must update 0x140034 once after 16 packets have been transferred from the GT-48002A to the cpu. this single word write after sixteen packets have been transferred to the cpu are to update the shadow register only. 1. assuming cba and cbas have already been written to, any writes to 0x140034 will update the cbas register only. in other word s, cba can only be updated on the first write, and after 16 packets have been written to the cpu where the cba will take the valu e of the cbas. block #1 block #2 block #16 0 1 2 3 n-1 n 31 0 word#8, base address register byte#32 GT-48002A cpu memory base address shadow s 31 ease 17 15 sp 14 12 bc v 11 1 0 word#0, byte#0
GT-48002A switched fast ethernet controller 26 revision 1.2 steps 3-4 are repeated. the packet transfer to the cpu is done as follows: 1. the incoming packet is fed to the rx fifo and is transferred to an empty block in the receive buffer area of dram. 2. in parallel, an address recognition cycle is performed for both the da and the sa. if the packet is resolved to be a packet of the type listed at the beginning of this section, packet information is written to the pcis transmit descrip- tor. this information includes the byte count and receive buffer block address which is pointed to by the write pointer. when the pcis transmit descriptors write pointer is not equal to the read pointer, the source GT-48002A sends the packet directly to the appropriate block in the cpu main memory with the packet_transfer (section 10.3.7) message using pci master operations in multiple eight 32-bit bursts. the data is entered starting at the 8th word (33rd byte) of the next free block. words 1 to 7 are left empty for user purposes. the address of this packet transfer is based upon the cba. 3. at the end of the packet transfer, the source GT-48002A sends the end_of_packet message (section 10.3.10) to the first word of the block (word #0). it also sends an interrupt via int* to the cpu, increments the read pointer, and clears the appropriate bit in its empty list. the cpu now has the packet buffered in its buffer area. this gives the cpu the ability to intervene in the packets rout- ing or to modify the contents of the packet. 6.5 forwarding a packet from the cpu to a galnet device the sequence for forwarding a packet from the cpu to a port in a galnet device is the same for unicast and multicast packets. the procedure is as follows: 1. the cpu sends a buffer_request message (section ) to the appropriate target galnet device indicating that there is a packet ready for transmission across the pci bus. 2. the target galnet device receives this message and allocates a buffer in its dram. this target device then sends a start_of_packet message (section 10.3.5) back to the cpu indicating it is ready to receive the packet. this start_of_packet message is sent to a cpu buffer location indicated by the start packet base address regis- ter (0x140038). this address points to a cpu buffer area that can hold up to 32 start_of_packet messages. the cpu must poll this structure to know when a target GT-48002A is ready to receive a packet, and to what address the packet should be sent. if the byte count field in the start_of_packet message is 0, then the cpu should not write the packet_transfer message nor the end_of_packet message to the device. this indi- cates that either the buffers are full in the target galnet device, or that the link is down on the target port. 3. the cpu transfers the packet with the packet_transfer message (section 10.3.9) using pci master opera- tions in multiple eight 32-bit bursts. the packet is buffered in the receive buffer area of the target devices dram. after the entire packet has been transmitted, the cpu performs an additional write transaction by sending the end_of_packet message (section 10.3.12) indicating completion of the packet transfer. this message con- tains the byte count, the target port number, the rx block address, and the packet type. it also includes a bit which commands the GT-48002A to generate crc for this out-going packet or not. if the packet is a multicast packet, the packet will only be forwarded to the ports tagged in bits [29:22] of the end_of_packet message (the cpu should never write 1 to bits 29:22 that had 0 in in the same bits of the start_of_packet mes- sage.) 4. some packet information included in the end_of_packet message is written to the appropriate transmit descriptor in the target device. this information includes the byte count and the receive buffer address which is pointed to by the write pointer. 5. the write pointer of the outgoing ports transmit descriptor is incremented. the target galnet device transmits whenever the write pointer is not equal to the read pointer. 6. at the end of the packet transmit process, the target galnet device increments the read pointer and clears the appropriate bit in the empty list.
switched fast ethernet controller revision 1.2 27 6.6 crc generation as mentioned in section 6.5, the GT-48002A also includes a crc generator for packets sent out by the cpu. the crc generator enhances system performance by implementing the cpu intensive packet crc calculation in hard- ware. note that crc generation is not required for packets transferred between galnet devices, since the crc is already appended to these packets. crc generation for cpu generated packets is enabled through the encrc bit in the global control register (bit 29). in addition, the cpu must set the gencrc bit in the end_of_packet (section 10.3.12) message sent to the gt- 48002a at the completion of forwarding the packet. 6.7 tx watchdog timer the GT-48002A includes a transmit watchdog timer for each transmit queue. for 100mbps operation, the default value of the timer is 63msec; the range is between 10.5 to 168msec. for 10mbps operation, the default value of the timer is 630msec and the range is between 105msec to 1680msec. the timer measures the time between the transmission of two consecutive outgoing packets. when the timer expires, the GT-48002A clears the appropriate used blocks and sends an interrupt to the cpu via int*. the transmit watchdog timer prevents transmission problems on one port from blocking traffic to other ports. in man- aged systems, the timers also provide a mechanism to notify the cpu of a possible system problem. the tx watchdog timer can be externally disabled by holding the diswd* pin low. the default is to leave the tx watchdog timer enabled (diswd* high.)
GT-48002A switched fast ethernet controller 28 revision 1.2 7. device table operation the galnet architecture supports a maximum of 32 devices per system. each device needs to know of the existence of all other galnet devices in the system in order to communicate information and packet data. the device table is a 32- bit register that uses a single bit for each possible device number to indicate its presence/absence in the system. 7.1 automatic device table initialization upon reset, each GT-48002A in the system sets all of its device table bits to 1. this is essentially a guess by the GT-48002A that all device numbers are in use. in a system with any pci device that is not a galnet device (cpu, graphics card, etc.), it recommended that the cpu initialize the device table before the galnet device is enabled (or before packet transmission starts). specific device table bits are cleared, and the corresponding device numbers are logically eliminated from the sys- tem, by: ? the receipt of a pci master abort when the GT-48002A attempts to access the corresponding device number ? management cpu programming device table cleaning is handled automatically by each device upon receipt of the first unknown packet following a reset. this process discovers all other galnet devices in the system without processor intervention: 1. the GT-48002A receives the first good packet from any ethernet port and places it in the buffer area in dram. 2. since the address table is cleared (immediately following reset) the packet must be forwarded to all ports, including those located on other galnet devices. 3. the GT-48002A attempts to allocate a buffer in all 31 possible additional galnet devices in the system. this is done by issuing 31 buffer_request messages- one to every possible device in the system. 4. each buffer_request message that fails due to a pci master abort results in the corresponding device num- ber bit being cleared in the device table. a pci master abort only occurs when there is no target device at the requested address (i.e. the target device doesnt exist.) 7.2 manual device table initialization alternatively, the cpu can notify each GT-48002A of the existence of the galnet devices. this is done by setting the by setting bit 2 in the global control register (devtabmod.) in this mode, the cpu is responsible for notifying the gt- 48002a of the existence of all gt-4800x devices in the system. the cpu does this by writing the appropriate values to each device table. manual mode must be used when there are multiple pci buses in the system separated via pci-to-pci bridges. 7.3 programming device numbers the device number for each galnet device is set after reset by the values on the daddr[4:0] pins. the device num- ber can be changed by writing the new device number to [26:22] of the dram/internal register base address register at 0x010. typically, once the number of a device has been changed, the device table of all devices in the system will also need to be updated.
switched fast ethernet controller revision 1.2 29 8. unicast intervention mode the GT-48002A supports a powerful feature called intervention mode for unicast packets. intervention in unicast traffic is optional per mac address. each entry in the address table includes an intervention bit for the destination address (bit 62) and the source address. when an intervention mode bit is set, the GT-48002A will not forward the packet auto- matically to the destination device. instead, the galnet device will send a buffer_request message (section 10.3.3) to cpu memory. the buffer_request messages will be sent to the buffer area in the cpu main memory which contains 256 entries of dual 32-bit words. the location of this cpu memory is specified by the cpu intervention base address at 0x140048. the buffer area is pointed to by this base address register and a shadow register at this same offset. the buffer_request message includes information about the routing of the packet (source and tar- get port/device numbers). the cpu then has the option to: ? discard the packet ? forward the packet to a specific device ? request the packet be transferred to cpu buffer memory figure 4 shows a unicast packet transfer using intervention mode. figure 4: unicast packet transfer with intervention the sequence illustrated is as follows: 1. the incoming packet is fed to the rx fifo and transferred to an empty block in the receive buffer area of dram. 2. if a corresponding intervention bits is set, the device sends a buffer_request message (section 10.3.3) to the cpus intervention base address. the buffer_request includes the source port and the source buffer address the cpu then has the following options: 1. discard the packet. ? the cpu sends a start_of_packet message (section 10.3.6) to the source device with the byte count field cleared with all 0s (arrow #3). 2. forward the packet to a port in the same device cpu pci bus GT-48002A dram GT-48002A dram 1 23 5 6 4 7 dram messages packets
GT-48002A switched fast ethernet controller 30 revision 1.2 ? the cpu sends a buffer_request (section 10.2.2) to back to the same device where the target device number is equal to the source device number. the correct port number is also specified. this buffer_request is of the same format that is used between galnet devices (arrow #2). ? the packet is then sent out on a port of same source device as specified by the cpu. 3. forward the packet to a different device. ? the cpu sends a buffer_request (section 10.2.2) to the destination device. this buffer_request is of the same format that is used between galnet devices and uses the source device number as the source device instead of the cpu device number (arrow #4). ? the target device allocates a buffer and sends a start_of_packet message (section 10.2.3) to the source device (arrow #5). ? the source device transfers the packet with the packet_transfer message (section 10.2.4) followed by an end_of_packet message (section 10.2.5) to the target device (arrow #6). 4. take the packet. ? the cpu sends a start_of_packet message (section 10.3.6) back to the source galnet device. the tar- get device in this message is the cpu number. the source GT-48002A device transfers the packet with the packet_transfer message (section 10.3.8) using pci master operations in multiple eight 32-bit bursts. the first data word of the packet will be written to the second word of the buffer. the first word is left empty for the end_of_packet message. note: unicast packets tagged for intervention mode are not forwarded to the same buffer space that is specified by the cpu buffer base address (cba) at offset 0x14140034). ? at the end of the packet transfer, the source GT-48002A sends the end_of_packet message (section 10.3.11) to the first word of the buffer. it also sends an interrupt via int* to the cpu, and clears the appropriate bit in its empty list. the cpu buffer now contains the packet whose destination address was marked for intervention. the cpu can per- form a number of functions with the packet including layer 3 routing, security, virtual lan support, filtering and manage- ment. after the cpu has modified the packet, the packet can be transferred to the appropriate target galnet device with the procedure outlined in section 6.5. 8.1 unicast intervention mode address space prior to the cpu receiving unicast packets tagged for intervention mode, an address space for galnet devices to for- ward packets to must be allocated. this address space should reside in the galnet protocol region (see section 10.1). therefore, this buffer region will have a similar address to a galnet device. the buffer address format is shown in table 5. table 5: buffer address for unicast intervention mode packets pci bits description address [31:27] [26:22] [21] [20:0] galnet protocol region cpu device number (bits [12:8] in 0x140030) 1 (dram) dram location
switched fast ethernet controller revision 1.2 31 9. address table the GT-48002As address table resides in the local dram array. figure 5 shows the address table structure. the address table structure occupies approximately 320kbytes and is entirely controlled and initialized by the GT-48002A. following reset, the GT-48002A initializes the address table by setting all valid bits in the table to 0. every new address that is learned has its entrys valid bit set to 1. in order to remove an address entry from the table, only the skip bit should be set to 1 (the valid bit should not be modified). modifications to the address table are normally made through galnet protocol message requests by the cpu. it is possible to access the address table directly, however, this mode is not recommended. please contact galileo if you feel your application requires direct address table access.
GT-48002A switched fast ethernet controller 32 revision 1.2 figure 5: address table format 8k addr[0:47] dev# 51 1 0 2 50 58 port# st 55 56 1 a sk v 3 59 r m id is 63 62 61 60 address table bits description bit description v valid: indicates this entry is taken or previously was taken 0 - not valid 1 - valid sk skip - indicates if this entry is currently being used 0 - active entry, do not skip 1 - inactive entry, overwriting this entry is allowed a aging - this bit is used for the aging process 0 - cleared by the cpu 1 - set by the gt-48001a upon receiving a packet from the station corresponding to this entry addr 48 bit mac address dev# device number - 5 bit galnet device number indicating which of a maximum of 32 devices in the system is associated with this address. port# port number - 3 bit port number (for compatibility with the gt-48001a) indicating which of the eight ports of a gt-48001a or which of the 2 ports of a GT-48002A is associated with this address. r reserved st static - indicates whether an entry can be modified or not 0 - the entry can be modified 1 - the entry is static, the dev# and port# cannot be modified m multiple - meaningful when bit st is set 0 - forward this packet only to the destination port 1 - forward this packet to all ports (as unknown) id intervention for destination addresses 0 - dont activate intervention mode for this address as a destination 1 - activate intervention mode is intervention for source addresses 0 - dont activate intervention mode for this address as a source 1 - activate intervention mode
switched fast ethernet controller revision 1.2 33 10. galnet messaging protocol the galnet messaging protocol is comprised of the messages passed over the pci bus between ? galnet family members ? a galnet family member and a cpu .the messages are encoded in both the address and the data phases of the pci transfers. five groups of messages that are currently defined: new_address, buffer_request, start_of_packet, packet_transfer, and end_of_packet. galnet messages are write-only (request/response). for example, a galnet device that needs to transfer data to another galnet chip starts the transfer by requesting a buffer (buffer_request) from the target. the target responds with an address to which the packet should be transferred to (start_of_packet). the galnet messaging protocol allows messages to be interleaved. for example, a device may send out multiple buffer_request messages to other devices before receiving a start_of_packet message reply. write only messaging was used since it better utilizes pci bus bandwidth. reads on the pci bus tend to stall the bus, and the reading device thereby degrading overall system performance. please note that there are subtle differences in the galnet message format when transferring messages between devices (section 10.2) and between a device and a cpu (section 10.3). 10.1 galnet protocol region all galnet devices in a system must reside within a single 128mbyte region in the pci memory address space known as the galnet protocol region (gpr). the base address of the gpr is set in bits 31:27 of the dram/internal base address register at offset 0x10 in the GT-48002As pci configuration header. 1 all galnet devices in a system must have the same value in this field. galnet devices default to a value of 00001 in the gpr bits following reset. each galnet device in the system occupies a separate 4mbyte slice of the galnet protocol region. this slice is decoded by the device number field in the dram/internal base address register (bits 26:22). the individual devices address space is further divided by the dram/register bit (bit 21). this bit determines whether an access to a target device is directed to the dram array or to the registers. 1. offset 0x10 in the pci configuration register is known as base address register 0 for standard pci devices.
GT-48002A switched fast ethernet controller 34 revision 1.2 figure 6: galnet protocol region and address decoding pci address space galnet protocol region (128mbytes) device o device 1 devices 2-30 device 31 bits 31 - 27 bits 26 - 22 gpr base addr device # internal registers dram array bit 21 dram/regs bits 20 - 0 dram or register address inside device 1 pci bus address
switched fast ethernet controller revision 1.2 35 10.2 galnet messages between devices the five groups of galnet messages as described in the sections below are sent from one galnet device to another. the data format for all galnet messages is little-endian , which is the pci standard. 10.2.1 new_address message between galnet devices a message sent from one galnet device to another to alert of a new address. the new_address message may also be posted as a 'question' to other galnet devices during the recovery pro- cess (see section 4.2 on page 18). the indication is via the address unknown/new address bit (bit 29). if bit 29 is clear, then the new_address message is a 'question'. when bit 29 is set, the message indicates a 'real' address to put into the target devices address tables. the new_address message must be transferred in a burst of three words over the pci. table 6: new_address message between galnet devices pci bits description address [31:27] [26:22] [21] [20:18] [17:0] galnet protocol region target device number 0 (internal registers) 100 (new_address message) 0 data 0 [31:3] [2] [1] [0] mac address [19:47] aging skip valid data 1 [31] [30] [29] [28] [27] [26:24] [23:19] [18:0] 1 static address unknown/new address multiple 0 port number device number mac address [0:18] data 2 [24] [25] intervention mode for destination address intervention mode for source address
GT-48002A switched fast ethernet controller 36 revision 1.2 10.2.2 buffer_request message between galnet devices a message sent from a source galnet device to a target galnet device to request a buffer. 10.2.3 start_of_packet message between galnet devices a message from a target galnet device to the source galnet device which contains the empty receive buffer address. the start_of_packet message must be transferred in a burst of two words over the pci. table 7: buffer_request message between galnet devices pci bits description address [31:27] [26:22] [21] [20:18] [17:13] [12:0] galnet protocol region target device number 0 (internal registers) 101 (buffer_request message) source device number 0 data 0 [31] [30] [29:28] [27:25] [24:22] [21] [20:10] [9:0] sniffer (0-sniffer type message) unknown (0-unknown message) 0 source port number target port number multicast/unicast (0-unicast) byte count source buffer address (divided by 0x600) table 8: start_of_packet message between galnet devices pci line description address [31:27] [26:22] [21] [20:18] [17:0] galnet protocol region source device number 0 (internal registers) 110 (start_of_packet message) 0 data 0 [31] [30] [29:22] [21] [20:10] [9:0] sniffer (0 - sniffer type message) 0 target port number (1bit per each port; bit 22 - port 0, bit 23 - port 1 etc.) multicast/unicast (0-unicast) byte count target buffer address (divided by 0x600) data 1 [31:18] [17:15] [14:5] [4:0] 0 source port number source buffer address (divided by 0x600) target device number
switched fast ethernet controller revision 1.2 37 10.2.4 packet_transfer message between galnet devices a burst of up to 8 32-bit words from the source galnet device to the target galnet device which contains the packet. the packet_transfer message can be transferred using any burst size over the pci. the galnet device uses a burst of 8 words. 10.2.5 end_of_packet message between galnet devices a message from the source galnet device to the target galnet device which indicates the end of the packet. table 9: packet_transfer message between galnet devices pci line description address [31:27] [26:22] [21] [20:0] galnet protocol region target device number 1 (dram) dram location data 0 [31:0] data 0 ---- ---- ---- ---- data 7 [31:0] data 7 table 10: end_of_packet message between galnet devices pci line description address [31:27] [26:22] [21] [20:18] [17:0] galnet protocol region target device number 0 (internal registers) 111 (end_of_packet message) 0 data 0 [31] [30] [29:22] [21] [20:10] [9:0] crc (0 - do not append, 1 - append) always 0, galnet never appends crc 0 target port number (1bit per each port; bit 22 - port 0, bit 23 - port 1 etc.) multicast/unicast (0-unicast) byte count target buffer address (divided by 0x600)
GT-48002A switched fast ethernet controller 38 revision 1.2 10.3 galnet messages between a galnet device and a cpu when a management cpu is used in a galnet switch system, bit 10 (cpuen) of the global control register, 0x140028, must be set. the five groups of galnet messages described in the sections below are sent from one galnet device to a cpu and from a cpu to a galnet device. 10.3.1 new_address message (galnet to cpu) a message from a galnet device to the cpu that contains information about a new mac address. bit 7 (forwnewadd) of the global control register (0x140028) must be set. table 11: new_address message (galnet to cpu) the new_address message must be transferred in a burst of two words over the pci from a galnet device to the cpu. pci bits description address [31:8] [7:3] [2:0] new_address base address (offset: 0x14003c) offset counter (32 total entries) 000 data 0 [31:3] [2] [1] [0] mac address [19:47] 1 0 0 data 1 [31] [30] [29] [28] [27] [26:24] [23:19] [18:0] 1 reserved address unknown/new address (0 - unknown, 1 - new address message) reserved reserved port number device number mac address [0:18]
switched fast ethernet controller revision 1.2 39 10.3.2 new_address message (cpu to galnet) a message from the cpu to a galnet device that contains information about a new mac address. table 12: new_address message (cpu to galnet) the new_address message must be transferred in a burst of three words over the pci. data 2 must be sent when sending the new_address message. after every new_address message sent by the cpu, a dummy new_address message (with a non existing mac address) should be sent with data2 cleared (all 0s). the dummy mac address can be all zeros or another mac address that doesn't exist in the network. pci bits description address [31:27] [26:22] [21] [20:18] [17:0] galnet protocol region target device number 0 (internal registers) 100 (new_address message) 0 data 0 [31:3] [2] [1] [0] mac address [19:47] aging skip valid (should always be 1) data 1 [31] [30] [29] [28] [27] [26:24] [23:19] [18:0] 1 static address unknown/new address (0 - unknown, 1 - new address message) multiple 0 port number device number mac address [0:18] data 2 [24] [25] intervention mode for destination address intervention mode for source address
GT-48002A switched fast ethernet controller 40 revision 1.2 10.3.3 buffer_request message (galnet to cpu) a message from the source galnet device to the target cpu to request a buffer . this message is only used when a unicast packets destination address is marked for intervention mode and will be forwarded to the cpu buffer. table 13: buffer_request message (galnet to cpu) the buffer_request message must be transferred in a burst of two words over the pci. 10.3.4 buffer_request message (cpu to galnet) a message from the source cpu to the target galnet device to request a buffer . table 14: buffer_request message (cpu to galnet) pci bits description address [31:11] [10:3] [2:0] cpu intervention base address (0ffset: 0x140048) offset counter (256 total entries) 000 data 0 [31] [30] [29:28] [27:25] [24:22] [21] [20:10] [9:0] sniffer (0-sniffer type message) unknown (0-unknown message) 0 source port number target port number multicast/unicast (0-unicast) byte count source buffer address (divided by 0x600) data 1 [31:29] [28:24] [23:0] 0 target device number 0 pci bits description address [31:27] [26:22] [21] [20:18] [17:13] [12:0] galnet protocol region target device number 0 (internal registers) 101 (buffer_request message) source cpu device number (bits [12:8] in 0x140030) 0 data 0 [31] [30] [29:28] [27:25] [24:22] [21] [20:10] [9:0] sniffer (0-sniffer type message) unknown (0-unknown message) 0 reserved target port number multicast/unicast (0-unicast) byte count reserved
switched fast ethernet controller revision 1.2 41 10.3.5 start_of_packet message (galnet to cpu) a message from a target galnet device to the cpu which contains the target buffer address. table 15: start_of_packet message (galnet to cpu) the start_of_packet message must be transferred in a burst of two words over the pci. 10.3.6 start_of_packet message (cpu to galnet) a message from the target cpu to the source galnet device which contains the empty buffer address. this message will only be sent when the galnet devices needs to forward a unicast packet to the cpu via intervention mode. table 16: start_of_packet message (cpu to galnet) the start_of_packet message must be transferred in a burst of two words over the pci. pci bits description address [31:8] [7:3] [2:0] start_of_packet base address (0x140038) offset counter (32 total entries) 000 data 0 [31] [30] [29:22] [21] [20:10] [9:0] sniffer (0 - sniffer type message) 0 target port number (1bit per each port; bit 22 - port 0, bit 23 - port 1 etc.) multicast/unicast (0-unicast) byte count target buffer address (divided by 0x600) data 1 [31:0] 0 pci bits description address [31:27] [26:22] [21] [20:18] [17:0] galnet protocol region source device number 0 (internal registers) 110 (start_of_packet message) 0 data 0 [31] [30] [29:22] [21] [20:10] [9:0] sniffer (0 - sniffer type message) 0 reserved multicast/unicast (0-unicast) byte count target buffer address (divided by 0x600) data 1 [31:18] [17:15] [14:5] [4:0] 0 source port number source buffer address (divided by 0x600) target cpu device number (bits [12:8] in 0x140030)
GT-48002A switched fast ethernet controller 42 revision 1.2 10.3.7 packet_transfer message (galnet to cpu 16 block buffer) a burst of up to 8 32-bit words from the source galnet device to the target cpu buffer which contains the packet. this message is used when the galnet device forwards one of the following packets directly to the cpu 16 block buffer: ? unicast packets destined for the cpu (device number in the address table is equal to the cpu number) ? multicast packets ? unknown packets (if set by bit 6 in the global control register, 0x140028) ? bpdu messages ? sniffer packets when the cpu is the target sniffer ? ease packets the data is entered starting at the 8th word (33rd byte) of the next free block. words 1 to 7 are left empty for user pur- poses. the address of this packet transfer is based upon the cpu buffer base address. table 17: packet_transfer message (galnet to cpu) the packet_transfer message can be transferred using any burst size over the pci. the galnet device uses a burst of 8 words. 10.3.8 packet_transfer message (galnet to cpu in unicast intervention mode) a burst of up to 8 32-bit words from the source galnet device to the target cpu buffer which contains the unicast packet whose address is tagged for intervention mode. the first data word of the packet will be written to second word of the buffer. the first word is left empty for the end_of_packet message. table 18: packet_transfer message (galnet to cpu) pci bits description address [31:15] [14:11] [10:2] [1:0] cpu buffer base address (0x140034) offset counter (16 total blocks) address within the buffer 0 data 0 [31:0] data 0 ---- ---- ---- ---- data 7 [31:0] data 7 pci bits description address [31:27] [26:22] [21] [20:0] galnet protocol region cpu device number (bits [12:8] in 0x140030) 1 (dram) dram location data 0 [31:0] data 0 ---- ---- ---- ----
switched fast ethernet controller revision 1.2 43 the packet_transfer message can be transferred using any burst size over the pci. the galnet device uses a burst of 8 words. 10.3.9 packet_transfer message (cpu to galnet) a burst of up to 8 32-bit words from the source cpu buffer to the target galnet device which contains the packet. table 19: packet_transfer message (cpu to galnet) the packet_transfer message can be transferred using any burst size over the pci. it is recommended to use a burst of 8 words. data 7 [31:0] data 7 pci bits description address [31:27] [26:22] [21] [20:0] galnet protocol region target device number 1 (dram) dram location data 0 [31:0] data 0 ---- ---- ---- ---- data 7 [31:0] data 7 pci bits description address
GT-48002A switched fast ethernet controller 44 revision 1.2 10.3.10 end_of_packet message (galnet to cpu 16 block buffer) a message from the source galnet device to the cpu which indicates the end of the packet. this message is used when the galnet device forwards one of the following packets directly to the cpu 16 block buffer: ? unicast packets destined for the cpu (device number in the address table is equal to the cpu number) ? multicast packets ? unknown packets (if set by bit 6 in the global control register, 0x140028) ? bpdu messages ? sniffer packets when the cpu is the target sniffer ? ease packets the end_of_packet message is written to the first word of the buffer. table 20: end_of_packet message (galnet to cpu 16 block buffer) 10.3.11 end_of_packet message (galnet to cpu in unicast intervention mode) a message from the source galnet device to the cpu which indicates the end of a unicast packet transfer to the cpu in intervention mode. the end_of_packet message is written to the first word of the buffer. table 21: end_of_packet message (galnet to cpu in unicast intervention mode) pci bits description address [31:15] [14:11] [10:0] cpu buffer base address (0x140038) offset counter (16 total blocks) 0 (always to the first word) data 0 [31] [30:24] [23:16] [15] [14:12] [11:1] [0] sniffer packet reserved ease sample (port0, bit 16; port7, bit 23) ease sample is an original packet to cpu source channel number byte count valid bit pci bits description address [31:27] [26:22] [21] [20:0] galnet protocol region cpu device number (bits [12:8] in 0x140030) 1 (dram) 0 (always to the first word) data 0 [31] [30:24] [23:16] [15] [14:12] [11:1] [0] sniffer packet reserved ease sample (port0, bit 16; port7, bit 23) ease sample is an original packet to cpu source channel number byte count valid bit
switched fast ethernet controller revision 1.2 45 10.3.12 end_of_packet message (cpu to galnet) a message from the source cpu to the target galnet device which indicates the end of the packet. table 22: end_of_packet message (cpu to galnet) pci bits description address [31:27] [26:22] [21] [20:18] [17:0] galnet protocol region target device number 0 (internal registers) 111 (end_of_packet message) 0 data 0 [31] [30] [29:22] [21] [20:10] [9:0] crc (0 - do not append, 1 - append) 0 target port number (1bit per each port; bit 22 - port 0, bit 23 - port 1 etc.) multicast/unicast byte count target buffer address (divided by 0x600)
GT-48002A switched fast ethernet controller 46 revision 1.2 11. pci bus operation the GT-48002A can act as either a master initiating a pci bus operation, or as a target responding to a pci bus oper- ation. the GT-48002A is enabled to both master the pci bus and respond to memory accesses after reset. the GT-48002A has two sets of internal registers that are accessible through the pci interface. internal control regis- ters for the GT-48002A are memory mapped and accessible through standard pci read/write operations. pci control registers are accessible through pci configuration cycles. 11.1 pci configuration header registers the GT-48002As pci configuration registers are located in the standard pci configuration header locations. access to these registers is through pci configuration reads/writes with the idsel signal asserted. pci configuration registers control pci functions and return pci information (device/vendor id, etc.) 11.2 accessing dram and internal registers through the pci interface all GT-48002A internal control registers and the local dram are mapped into pci memory space. the GT-48002A looks at pci address bits 31:22 to determine if it is the target for the current cycle. this results in a decode region of 4mbytes per GT-48002A. bit 21 of the address is used by the GT-48002A to subdecode on-chip between accesses to dram and accesses to the internal registers. bits 20:0 are used to select a specific register or memory location. reg- ister addresses given in this document refer to the value of bits 20:0 in the pci address. the GT-48002A expects data in little-endian format, as is required by the pci specification. the GT-48002A acts as a medium speed decode device, returning devsel* in 2 clocks. 11.3 pci bandwidth/performance issues the pci bus has an ideal maximum bandwidth of just under 132mbytes/sec (about 1 gigabit per second.) in systems with many galnet devices the bandwidth available on the pci bus can become a performance limitation. there are several factors that reduce the maximum achievable bus bandwidth: ? aggressiveness of the pci arbiter. for example, the use of hidden arbitration can save cycles between adja- cent accesses and improve overall bandwidth. simpler arbiters will degrade bandwidth as cycles that could be used for data transfer are used for arbitration. ? the galnet protocol does involve some overhead when compared to raw data transfer. while performance in any given system is impossible to estimate due to design differences, galileo technology has determined the theoretical maximum pci bus loading for each 100mbps port (see table 23.) the bandwidth numbers shown in this table take into account overhead for the galnet protocol, as well as overhead for the pci bus itself (arbi- tration, clocks/transfer, etc.) (please note that the actual performance is based on several system factors. please contact galileo technology if you require assistance calculating maximum performance of your system.) table 23 makes the following worst-case assumptions: ? packets are being received and transmitted at full wire speed (148,800 pps for 64-byte packets) 1. maximum number of ports to guarantee 0% packet loss at worst case loading conditions. table 23: pci bandwidth estimates packet length maximum pci bandwidth required per 100mbps port maximum number of 100mbps ports per pci bus 1 64 20.8 mbytes/s 6 128 17.0 mbytes/s 7 256 15.0 mbytes/s 8 512 14.1 mbytes/s 9 1024 13.6 mbytes/s 9
switched fast ethernet controller revision 1.2 47 ? all ports are fully loaded ? all packets must be routed across the pci bus (not switched between ports in the same device.) 11.4 plug-and-play considerations in pci systems in plug-and-play systems, the bios writes 0xffff.ffff to the dram base address register (0x10) and reads back the results to determine how much pci memory space the device requires. if there are multiple galnet devices in a system, 128mbytes of pci memory space can be allocated by a single device with the use of the configmode pin. when configmode is low, the GT-48002A requests 4 mbytes of pci address space. when the dram base address register is read back, it will report 0xffc0.0000 (bits [21:0] are 0). when configmode is high, the GT-48002A requests 128 mbytes of pci address space. when the dram base address register is read back, it will report 0xf800.0000 (bits [27:0] are 0). please note that only one GT-48002A should request 128mbytes of pci memory address space. in other words, only one device should have configmode tied high. the remaining galnet devices should only request 4mbytes of address space (configmode tied low). once the bios has completed memory space allocation, the galnet devices which were only allocated 4mbytes of memory address space should be re-mapped into the single 128mbyte galnet protocol region allocated by the GT-48002A which requested this space. 11.5 unused pci bus in stand-alone systems single-chip stand-alone applications do not require use of the pci bus. the pci bus pins must be connected as shown in table 24 to insure proper operation when not using the pci bus. all pull-up and pull-down resistors should have a value of 4.7k w . be sure to have your own reset and 33.0 mhz clock on-board. all other pci bus signals can remain unconnected. 11.6 pci bus arbiter in multiple galnet device systems all galnet systems that use more than one device will require a pci bus arbiter. the arbiter examines the bus request signals from each device and determines which device is granted the bus. galileo provides reference designs for pci bus arbiters (implemented in inexpensive pals) on our website. it is important to note that individual systems may have different arbiter design requirements. for example, if your sys- tem has several gt-48001a devices and a single GT-48002A (100-mbps switch) it may make sense to give higher pri- ority to the higher-speed 100basex interfaces. table 24: pin strapping requirements for unused pci signals pin name strapping devsel* pulled up to vcc stop* pulled up to vcc par* no connect perr* pulled up to vcc frame* pulled up to vcc irdy* pulled up to vcc trdy* pulled up to vcc gnt* pulled down to gnd idsel* pulled down to gnd serr* no connect req* no connect int* no connect ad[31:0] no connect cbe[3:0] no connect
GT-48002A switched fast ethernet controller 48 revision 1.2 12. fast ethernet interfaces the GT-48002A interfaces directly to two mii (media independent interface) ports which are compliant with the ieee standard (please see 802.3u fast ethernet standard for detailed interface information and timing parameters). each mii port has the following characteristics: ? capable of supporting both 10 mbps and 100 mbps data rates in half or full duplex modes ? data and delimiters are synchronous to clock references ? provides independent 4-bit wide transmit and receive paths ? uses ttl signal levels ? provides a simple management interface (common to all ports) ? capable of driving a limited length of shielded cable the GT-48002A incorporates all the required digital circuitry to interface to 100basetx, 100baset4, and 100basefx. two fast ethernet ports are integrated in the GT-48002A and only a small amount of external logic is needed to imple- ment the standard physical interfaces. 12.1 10/100 mii compatible interface the GT-48002A mac allows it to be connected to a 10mbps or 100mbps network. the GT-48002A interfaces to an ieee 802.3 10/100 mbps mii compatible phy device. the data path consists of a separate nibble-wide stream for both transmit and receive activities. the GT-48002A can switch automatically between 10 or 100 mbps operation depending on the speed of the network. data transfers are clocked by the 25 mhz transmit and receive clocks in 100 mbps oper- ation, or by 2.5 mhz transmit and receive clocks in 10 mbps operation. the clock inputs are driven by the phy, which controls the clock rate based on auto-negotiation. 12.2 media access control (mac) the GT-48002A mac performs all of the functions of the 802.3 protocol such as frame formatting, frame stripping, col- lision handling, deferral to link traffic, etc. the GT-48002A ensures the any outgoing packet complies with the 802.3 specification in terms of preamble structure. the GT-48002A transmits 56 preamble bits before start of frame delim- iter (sfd). the GT-48002A operates in half-duplex or full-duplex modes. in half-duplex mode, the GT-48002A checks that there is no competitor for the network bus before transmission. in addition to listening for a clear line before trans- mitting, the GT-48002A handles collisions in a pre-determined way. if two nodes attempt to transmit at the same time, the signals collide and the data on the line is garbled. the GT-48002A listens while it is transmitting, and it can detect a collision. if a collision is detected, the GT-48002A transmits a jam pattern and then delays its re-transmission for a random time period determined by the backoff algorithm. in full-duplex mode, the GT-48002A transmits unconditionally. 12.3 auto-negotiation 12.3.1 disabled when enautoneg* is high, auto-negotiation is disabled both ports and each port can be selected to be in half- or full- duplex mode independently. following reset the port duplex mode is set by the state sampled on daddr[6] for port 0 and daddr[7] for port 1. this value can be overridden in each ports port control register. the speed that each port operates in (10mbps or 100mbps) is determined by the frequency of txclk[x] and rxclk[x] generated by the phy. when the port is operating at 10mbps, the phy generates a 2.5mhz clock for both txclk and rxclk. when the port is operating at 100mbps, the phy generates a 25mhz clock for both txclk and rxclk. 12.3.2 enabled when enautoneg* is low, auto-negotiation is enabled for both ports and the GT-48002A decodes the duplex mode for each port from the values of the auto-negotiation advertisement register and the auto-negotiation link partner ability registers at the end of the auto-negotiation process. (note: the auto-negotiation feature on the 48002a is used only to tell the 48002a-p-2 the duplex that each port is operating in. the speed (10/100) of each port is determined only by rxclk and txclk.) once the duplex mode is resolved, the GT-48002A updates the port control registers with that duplex mode. the GT-48002A will continuously perform the following operations for each port (phy addresses 1
switched fast ethernet controller revision 1.2 49 and 2 alternately), implemented as read commands issued via the mdc/mdio interface: 1. read the phy auto-negotiation complete status. as long as phy bit 1.5 (register 1, bit 5) is '0' switch to half- duplex mode and continue to read phy register bit 1.5. continue to step 2 when phy bit 1.5 is '1', signaling auto- negotiation is complete. steps 2 through 6 are performed once for every transition of phy bit 1.5 from '0' to '1'. once phy bit 1.5 remains '1' and phy registers 4 and 5 have already been read, the GT-48002A will continue to read phy register 1, and monitor phy bit 1.5. steps 2 to 6 are performed once, if after rst* de-assertion, the phy bit 1.5 is read as '1', in order to update the GT-48002A duplex mode. note: phy bit 1.2 (link status) is read and latched during this same register read operation, regardless of the auto- negotiation status. 2. read the auto-negotiation advertisement register, phy register 4. continue to step 3. 3. read the auto-negotiation link partner ability register, phy register 5. continue to step 4. 4. resolve the highest common ability of the two link partners in the following manner (according to the 802.3u prior- ity resolution clause 28b.3): if (bit 4.8 and bit 5.8) == '1' then ability is 100base-tx full duplex else if (bit 4.9 and bit 5.9) == '1' then ability is 100base-t4 half duplex else if (bit 4.7 and bit 5.7) == '1' then ability is 100base-tx half duplex else if (bit 4.6 and bit 5.6) == '1' then ability is 10base-t full duplex else ability is 10base-t half duplex; continue to step 5. 5. resolve the duplex mode of the two link partners in the following manner: if ( (ability == "100base-tx full duplex") or (ability == "10base-t full duplex") ) then duplex mode = full duplex else duplex mode = half duplex; note: the value of the duplex mode indication should change only after reading both phy registers 4 and 5. continue to step 6. 6. update the port control register by writing the correct duplex mode bit. continue with step 1. 12.3.3 auto-negotiation control per port since enautoneg* pin enables or disables auto-negotiation for both ports, applications which require one port to auto- negotiate and one port to be forced into a certain mode require an additional pld to interface between the gt- 48002as mdio and mdc pin and the phy. while the GT-48002A waits for auto-negotiation to complete on a port, it forces that particular port to half-duplex mode. if this port is not auto-negotiation capable (but supports full duplex mode), or the port needs to be forced to full-duplex while the other is left to auto-negotiate, the pld will monitor the mdio line and make some modifications to the data read by GT-48002A from the phys. therefore, instead of defaulting to half-duplex, the modified data read back by the GT-48002A will place the port in full-duplex. in essence, the pld mimics the completion of the auto-negotiation cycle with a device that is not capable to auto-negotiate. for detailed information about implementing auto-negotiation on a per port basis, including the required pld equations, please download the application note located on galileos web- site (http://www.galileot.com).
GT-48002A switched fast ethernet controller 50 revision 1.2 12.3.4 auto-negotiation, software detection auto-negotiation is enabled or disabled via a hardware pin. the status of auto-negotiation (enabled or disabled) can be indirectly evaluated via software. when auto-negotiation is enabled, the cpu does not have write control to the duplex mode bit in the port control register of both ports. the cpu only has read access of these bits. therefore, if a cpu can write modify these bits, and then read these bits to to detect a change, it can conclude that auto-negotiation is dis- abled. otherwise, if it cannot change the value of these bits, it can conclude that auto-negotiation is enabled. to avoid detecting changes in this bit during an auto-negotiation cycle, this write/modify/read should be done several times. 12.4 backoff algorithm options the GT-48002A implements the truncated exponential backoff algorithm defined by the 802.3 standard. aggressive- ness of the backoff algorithm used by all of the ports is controlled by the limit4 pin. limit4 controls the number of con- secutive packet collisions that will occur before the consequtive collision counter is reset. when limit4 is low, the gt- 48002a resets the collision counter after 16 consecutive retransmit trials, restarts the backoff algorithm, and continues to try and retransmit the frame. a packet which is endlessly colliding on re-transmits will continue to be re-transmitted forever, only changing backoff intervals. the GT-48002A supports port partitioning on consecutive collisions, a mode which must be enabled by the cpu. the retransmission is done from the data already stored in the dram. in the case of a successful transmission, the GT-48002A is ready to transmit any other frames queued in its transmit fifo within the minimum ipg of the link. when limit4 is high, the GT-48002A will reset its collision counter and restarts the backoff algorithm after 4 consecu- tive transmit trials. this results in the GT-48002A being more aggressive in acquiring the media following a collision. this will result in better overall switch throughput (less packet loss) in standardized tests. limit4 can be toggled during switch operation. 12.5 data blinder the data blinder field (datablind in the serial parameters register) sets the period of time during which the port does not look at the wire to decide to transmit (inhibit time.) the default value is 32 bit times. 12.6 inter-packet gap (ipg) ipg is the idle time between any two successive packets from the same port. the default (from the standard) is 9.6us for 10mbps ethernet and 960nsec for 100-mbps fast ethernet. note that the ipg can be made smaller or larger than the ethernet standards by programming. making the ipg smaller can improve test scores at the cost of ethernet com- patibility (a trick used by many vendors during head-to-head magazine tests.) we do not recommend this mode of operation, however, as it violates ieee standards. ipg is programmable in the serial parameters register. 12.7 10/100 mbps mii transmission when the GT-48002A has a frame ready for transmission, it samples the link activity. if the rxdv signal is inactive (no activity on the link), and the inter-packet gap (ipg) counter has expired, frame transmission begins. the data is trans- mitted via pins txd[3:0] of the transmitting port, clocked on the rising edge of txclk. the signal txen is asserted at this same time. in the case of collision, the phy asserts the col signal on the GT-48002A which will then stop transmitting the frame and append a jam sequence onto the link. after the end of a collided transmission, the GT-48002A will back off and attempt to retransmit once the backoff counter expires. a waveform of the signals which are synchronous to txclk (txd0[3:0], txd1[3:0], txen[1:0]) is shown in figure 7. the actual delay times of the GT-48002A are tighter than the ieee 802.3u standard, clause 22.3.1, as shown in table 25.
switched fast ethernet controller revision 1.2 51 figure 7: mii transmit signal timing table 25: mii signal timings sychronous to txclk 12.8 10/100 mbps mii reception frame reception starts with the assertion of rxdv (while the GT-48002A is not transmitting) by the phy. once rxdv is asserted, the GT-48002A will begin sampling incoming data on pins rxdv[3:0] on the rising edge of rxclk. reception ends when the rxdv is deasserted by the phy. the last nibble sampled by the GT-48002A is the nibble present on rxd[3:0] on the last rxclk rising edge in which rxdv is still asserted. during reception, the rxdv is asserted. if, while rxdv is asserted, the GT-48002A detects the assertion of rxer, it will designate this packet as corrupted. while no reception is taking place, rxdv should remain deasserted. a waveform of the signals which are synchronous to rxclk (rxd0[3:0], rxd1[3:0], rxdv[1:0], rxer[1:0]) is shown in figure 8. the setup and hold times of the GT-48002A are tighter than the ieee 802.3u standard, clause 22.3.2, as shown in table 26. figure 8: mii receive signal timing table 26: mii signal timings sychronous to rxclk GT-48002A ieee 802.3u spec. name parameter min max min max units vd valid delay after rising txclk 2 14 0 25 ns GT-48002A ieee 802.3u spec. name parameter min max min max units ts setup time to rising rxclk 6 10 ns th hold time after rising rxclk 1 10 ns vd txclk txd, txen vih min vil max vih min vil max ts rxclk rxd, rxdv, rxer th vih min vil max vih min vil max
GT-48002A switched fast ethernet controller 52 revision 1.2 12.9 10/100 mbps full-duplex operation when operating in full-duplex mode the GT-48002A can transmit and receive frames simultaneously. in full-duplex mode, the crs signal is associated with received frames only and has no effect on transmitted frames. the col signal is ignored by the GT-48002A while in full-duplex mode. transmission starts when txen goes active. transmission starts regardless of the state of rxdv. reception starts when the rxdv signal is asserted indicating traffic on the receive port of the phy. 12.10 illegal frames the GT-48002A will discard all illegal frames and increment the appropriate error mib counters. examples include: runts (less than 64 bytes), oversize (greater than 1518 or 1522 bytes), and bad fcs (bad crc.) 12.11 partition mode a port enters partition mode when more than 61 consecutive collisions are seen on the port (whether the port is run- ning at 10 or 100 mbps). in partition mode the port continues to transmit but it will not receive. the paen bit in the cor- responding port control register is set when a port is partitioned. a port is returned to normal operation mode when a good packet is seen on the wire. 12.11.1 enabling partition mode partition is enabled (for all ports) by setting the enable bit in the GT-48002A control register. the default value is par- tition disabled for all ports. you must have a cpu in the system to enable partition mode, there is no pin strapping option. 12.11.2 entering partition state when partition is enabled, a port will enter partition state when either of the following two situations occur: ? the port detects a collision on every one of 61 consecutive retransmit attempts of the same packet. ? the port detects a single collision which occurs for more than 512 bit times while in partition state: ? if the interrupt is not masked, the GT-48002A will issue an interrupt to the cpu upon entering partition state, and will set the partition bit of that port in the interrupt cause register. ? the port will continue to transmit its pending packet, regardless of the collision detection, and will not follow the usual backoff algorithm. additional packets pending for transmission, will be transmitted, while ignoring the internal collision indication. this frees the port's transmit buffers which would otherwise be filled up at the expense of the other ports' buffers. the assumption is that partition is a system failure situation (bad connec- tor/cable/station), thus dropping packets is a small price to pay vs. the cost of halting the switch due to full buff- ers. ? the partition indication is available via the led interface (both the status led - blinking twice, and a dedicated led - on constantly). 12.11.3 exiting from partition state the port will exit from partition state, following the end of a successful packet transmission or packet reception. a suc- cessful packet transmission will be declared, if no collisions were detected during packet transmit or receive. if the interrupt is not masked, the GT-48002A will issue an interrupt to the cpu upon exiting from partition state, and will clear the partition bit of that port in the interrupt cause register. 12.12 back-pressure back-pressure is not supported by the GT-48002A. back-pressure can greatly deteriorate real network throughput in favor of better standardized test scores. back-pressure works is by "jamming" an entire network segment when the switch cannot accept new transmissions. this blocks all traffic, including traffic between nodes on the same network segment (like blocking local phone calls when the long distance circuits are busy.) simply dropping packets is a better solution for overall network throughput, although this is not reflected in some simplistic standardized tests. (dropped
switched fast ethernet controller revision 1.2 53 packets are detected by higher-layer protocols and regenerated.) 12.13 vlan tagging support the GT-48002A has the ability to receive and transmit ethernet frames up to 1522 bytes in length, thereby accommo- dating the standard vlan tagging bytes (four extra bytes.) this feature is enabled/disabled by bit 9 in the port control register (0x040200 - 0x040204). the default is to have this feature disabled (i.e. bytes longer than 1522 are discarded as over-size frames.)
GT-48002A switched fast ethernet controller 54 revision 1.2 13. mii management interface (smi) the GT-48002A mac contains an mii management interface (smi) for an mii compliant phy devices. this allows con- trol and status parameters to be passed between the GT-48002A and the phy (parameters specified by the cpu) by one serial pin (mdio) and a clocking pin (mdc), reducing the number of control pins required for phy mode control. typically, the GT-48002A will continuously query the phy devices for their link status, without cpu intervention. the predefined phy addresses for the link query are 1 and 2 (out of possible 32 addresses). this protocol complies with the national dp83840 phy device as well as other available phys. a cpu connected to the GT-48002A has access to all of the phy addresses/registers, by writing and reading to/from a dedicated set of GT-48002A smi control registers. the smi allows the cpu to have direct control over an mii-compat- ible phy device via the GT-48002A smi control register. this allows the driver software to place the phy in specific modes such as full duplex, loopback, power down, 10/100 speed selection as well as control of the phy devices auto-negotiation function, if it exists. the cpu writes commands to the GT-48002A smi register and the GT-48002A reads or writes control/status parameters to the phy device via a serial, bi-directional data pin called mdio. these serial data transfers are clocked by the GT-48002A mdc clock output. 13.1 smi cycles the smi protocol consists of a bit stream that is driven or sampled by the GT-48002A on each rising edge of the mdc clock. the bit stream format of the smi frame is described in table 27. ? pre (preamble). at the beginning of each transaction, the GT-48002A sends a sequence of 32 contiguous logic one bits on mdio with 32 corresponding cycles on mdc to provide the phy with a pattern that it can use to establish synchronization. ? st (start of frame). a start of frame pattern of 01. ? op (operation code). 10 - read; 01 - write ? phyad (phy address). a 5 bit address of the phy device (32 possible addresses). the first phy address bit transmitted by the GT-48002A is the msb of the address. ? regad (register address). a 5 bit address of the phy register (32 possible registers in each phy). the first register address bit transmitted by the GT-48002A is the msb of the address. the GT-48002A always queries the phy device for status of the link by reading register 1, bit 2. ? ta (turn around). the turnaround time is a 2 bit time spacing between the register address field and the data field of the smi frame to avoid contention during a read transaction. during a read transaction the phy should not drive mdio in the first bit time and drive 0 in the second bit time. during a write transaction, the gt- 48002a drives a 10 pattern to fill the ta time. ? data (data). the data field is 16 bits long. the phy drives the data field during read transactions. the gt- 48002a drives the data field during write transactions. the first data bit transmitted and received shall be bit 15 of the phy register being addressed. ? idle (idle). the idle condition on mdio is a high impedance state. the mdio driver is disabled and the phy should pull-up the mdio line to a logic one. 13.1.1 smi timing requirements figure 9 shows a waveform of the mdc line which is driven by the GT-48002A. table 28 shows typical mdc timings. table 27: smi bit stream format pre st op phyad regad ta data idle read 1...1 01 10 aaaaa rrrrr z0 d..d(16) z write 1...1 01 01 aaaaa rrrrr 10 d..d(16) z
switched fast ethernet controller revision 1.2 55 figure 9: GT-48002A mdc waveform table 28: typical mdc timings a waveform of the mdio line when it is driven by the GT-48002A is shown in figure 10. the actual delay times of the GT-48002A are tighter than the ieee 802.3u standard, clause 22.3.4, as shown in table 29. figure 10: GT-48002A mdio output delay table 29: mdio signal timings (GT-48002A driving mdio) a waveform of the mdio line when it is driven by the phy is shown in figure 11. the setup and hold times require- ments of the GT-48002A are the same as the ieee 802.3u standard, clause 22.3.4, as shown in table 30. 1. mdc is generated internally by dividing the clk clock input by 32. clk clock frequency of 33mhz is assumed. GT-48002A name parameter typical units t1 mdc high time 480 ns t2 mdc low time 480 ns t3 1 mdc period 960 ns GT-48002A ieee 802.3u spec. name parameter min max min max units t4 rising mdc to valid mdio 10 50 0 300 ns t1 mdc vih min vil max t2 t3 t4 mdc mdio vih min vil max vih min vil max
GT-48002A switched fast ethernet controller 56 revision 1.2 figure 11: GT-48002A mdio setup and hold time table 30: mdio signal timings (phy driving mdio) 13.2 link detection and link detection bypass (forcelinkpass*) typically, the GT-48002A will continuously query the phy devices for its link status, without cpu intervention. the pre- defined phy addresses for the link query are 1 and 2 (out of possible 32 addresses). the GT-48002A will alternately read register 1 from phy1 and phy2 and update the internal link bits according to the value of bit 2 of register 1. in the case of link is down (i.e. bit 2 is 0), that port will enter link test fail state. in this state, all of the ports logic i s reset. the port will exit from link test fail state only when the link is up i.e. bit 2 of register 1 is read from the ports phy as 1 . the GT-48002A offers the option to disable the link detection mechanism by forcing the link state of both ports to the link test pass state. this is done with the forcelinkpass* pin, which is sample at reset. when forcelinkpass* is low on reset, the link status of both ports remains in the link is up state regardless of the phys link bit value. when forcelinkpass* is high on reset, the link status of the ports is read through the smi from the phy devices (register 1, bit 2). GT-48002A ieee 802.3u spec. name parameter min max min max units t5 setup time to rising mdc 10 10 ns t6 hold time after rising mdc 10 10 ns t5 mdc mdio t6 vih min vil max vih min vil max
switched fast ethernet controller revision 1.2 57 14. network management support the GT-48002A supports the following management features: ? hp-ease packet sampling technology ? repeater mib and pci counters ? station-to-station connectivity matrix ? port monitoring (sniffer) mode this section describes the mib counter, connectivity matrix and port mirroring functions. the hp-ease functions are described in the following section. 14.1 repeater mib and pci counters the GT-48002A incorporates a full set of repeater mib counters for each ethernet port, as well as counters for activity on the pci interface. counters are accessed by the management cpu through the pci interface. the repeater mib counters include the following: ? bytes received ?bytes sent ? frames received ? frames sent ? total bytes received (good and bad) ? total frames received (good and bad) ? multicast frames received ? broadcast frames received ? crc + alignment error ? oversize frames ? fragments ? jabber frames ? collision ? late collision ? frames with length of 64 bytes ? frames with length of between 65-127 bytes ? frames with length of between 128-255 bytes ? frames with length of between 256-511 bytes ? frames with length of between 512-1023 bytes ? frames with length of between 1024-1522 bytes ? mac receive error (received packets with rxer asserted) ? dropped frames the global pci counters are: ? pci frames received ? pci frames sent please see the register description section below for more information on the repeater mib registers. 14.2 station-to-station connectivity matrix the GT-48002A provides a mechanism to record the destination port(s), destination mac address, source mac address and the byte count of all the forwarding packets in an external fifo for rmon station-to-station (sts) con- nectivity matrix support. the fifo is connected to the drams data lines and controlled directly by the GT-48002A. the GT-48002A asserts the chipsel* pin, and reads the packet routing, byte count, the destination address and source address. figure 12 is a timing diagram which shows the relationship between the assertion of chipsel*, dram control signals and dram data lines for a one word burst read of rmon data. figure 10 shows a multiple word burst read of rmon data. an application note giving detailed information about hooking up a fifo to the 48002a for station- to-station connectivity support is located on galileos website (http://www.galileot.com).
GT-48002A switched fast ethernet controller 58 revision 1.2 figure 12: chipsel* timing, 1 word burst read figure 13: chipsel* timing, 3 word burst read 14.2.1 data structure format figure 14 shows the format of the sts data structure. the first word includes information about the destination port(s) for this packet indicated by the first 8 bits. this word is useful for multicast packets only and is read back by the gt- 48002a by a one word burst read. the next word is the byte count and the type of packet, indicated by bit 21 (1 = mul- ticast, 0 = unicast), also read back by the GT-48002A with a one word burst read. the third fourth and fifth word includes the destination address and the source address read back by the GT-48002A with a three word burst read. the assertion of this data is indicated by chipsel*, a dedicated output pin. please note that the assertion of the chipsel* does not necessarily happen in consecutive cycles. in other words, the rmon data is not read back by the GT-48002A in three consecutive bursts. t1 = GT-48002A clk to signal delay (2 to 17ns) t2 = dram access time from cas* (0 to 15ns) valid data . t1 t1 t1 t1 t1 t1 t2 t3 0ns 50ns 100ns 150ns 200ns clk (33 mhz) ras* cas* chipsel* ddata t3 = dram turn off delay from ras* (3 to 15ns) t1 = GT-48002A clk to signal delay (2 to 17ns) t2 = dram access time from cas* (15ns max) t3 = dram turn off delay from ras* (3 to 15ns) valid valid valid data t1 t1 t1 t1 t1 t1 t2 t4 t3 0ns 100ns 200ns clk (33 mhz) ras* cas* chipsel* ddata t4 = data output hold after cas* low (5 min)
switched fast ethernet controller revision 1.2 59 figure 14: station-to-station connectivity matrix data structure 14.3 monitoring (sniffer) mode the cpu can program the GT-48002A to work in monitoring mode for one of the two fast ethernet ports. in monitoring mode, the GT-48002A sends all receive (including local traffic) and transmit packets to the cpu or to a port in one of the GT-48002A devices which was assigned to be the sniffer. the packets that are forwarded to the sniffer are not necessarily in a linear time order. monitoring mode is enabled by setting bit 2 in the port control register. the target sniffer is written into the cpu and sniffer numbers register. only one port of a single GT-48002A device can work in monitoring mode at a time. 14.4 spanning tree support the GT-48002A provides the hardware assistance for bridge spanning tree algorithm implementation. the spanning tree algorithm itself is performed by a management cpu. the GT-48002A includes a spanen bit in the global control register and additional spanen bits in each of the 8 port control registers. table 31 summarizes the hardware assistance for the spanning tree algorithm. note 1 : the GT-48002A does not learn mac addresses during the spanning tree learning stage (it is learning the bridge topology while in this mode.) the GT-48002A only learns mac addresses in the forward mode. note 2 : the cpu can send bpdu messages to a port of the GT-48002A which is disabled. the mechanism to send bpdus from the cpu to a locked port is to send a buffer_request message like the format shown in section 10.3.4, but with the lsb bits of the address as 0x58, instead of 0x0. this buffer_request message will cause the gt-48001a to allocate a buffer regardless of the state of that port. 14.5 broadcast storm filtering excessive broadcast packets (broadcast storms) can be filtered in a managed switch by setting the disbroad bit in the port control register. broadcast packets can be re-enabled once the loops causing the broadcast storm are elimi- nated via the spanning tree algorithm. table 31: spanning tree enable bit definition spanen (global) spanen (port) logic state remarks 0 x port enable no spanning tree. treat bpdus as regular multicast. 1 1 blocking, listening, learning transfer bpdus to cpu. all receive/transmit packets are rejected, except bpdu messages from the cpu. address learning disabled. 1 0 forward transfer bpdu to the cpu. accept all packets. address learning enabled. byte count dest. addr[16:47] src. addr[32:47] dest. addr[0:15] src. addr[0:31] . 20 10 0 31 word0 word1 word2 word3 word4 ports routed to 7 type 21
GT-48002A switched fast ethernet controller 60 revision 1.2 15. hp-ease packet sampling technology hewlett-packards embedded advanced sampling environment (hp-ease) is supported directly by custom hardware in the GT-48002A device. hp-ease provides many of the management functions that rmon provides, but at a greatly reduced implementation cost. with the GT-48002A device, the switch oem has the freedom to implement rmon, sampled rmon, ease, or any of the above. the hp-ease functionality is best understood using the familiar stack model, as shown in figure 15. an hp-ease agent running on the management cpu, combines samples of packets passing through the switch, with snapshots of the mib counters and forwards these to a management console through snmp trap messages. this approach is dif- ferent from rmon, as rmon keeps all data within the switch until polled by the management console. the gt- 48002a provides the hardware packet sampling portion of the hp-ease protocol. this capability can be used to imple- ment a true hp-ease compliant product, or as a method to implement sampled management such as statistical rmon. figure 15: hp-ease stack a system implementing hp-ease provides network management functions similar to rmon. however, a network device (or cpu) implementing hp-ease is not required to have the extensive cpu or memory resources needed to fully implement all groups of rmon. ease significantly reduces the requirement for these resources by statistically sampling data on network segments while rmon requires the processing of every network event. the philosophy of ease is to off-load the intelligence and processing power required for network monitoring to the network management station rather than the network device. 15.1 hp ease technology overview a system with hp ease provides network management functions similar to rmon. however, a network device (or cpu) implementing hp ease is not required to have the extensive cpu or memory resources needed to fully implement all groups of rmon. ease significantly reduces the requirement for these resources by statistically sampling data on net- work segments. rmon requires the processing of every network event. the philosophy of ease is to off-load the intel- ligence and processing power required for network monitoring to the network management station rather than the network device. h/w packet sampling (built into gt-48001a) software on management processor sample control sample processing counter processing snmp encapsulation snmp agent management station
switched fast ethernet controller revision 1.2 61 hp ease sampling requires a counter for each network segment. this counter indicates the number of packets to be skipped before a sample is taken. when the counter reaches zero, the next packet on the network segment is captured by the network device. software then truncates the sampled packet, to some small fixed length, and appends a snapshot of specific mib counters for that segment. the counter snapshot does not have to be taken simultaneously with the sam- ple. software may introduce a delay of some milliseconds after the packet is sampled by hardware, however minimizing this delay makes ease more accurate. the newly created datagram is sent off to the network management station as an snmp trap. the network management station records the sample and counters in a database, and uses the infor- mation to obtain traffic load estimates, top talker matrices, high-level protocol flows, and other useful sets of information. after the sample has been taken, the cpu loads the count-down counter with the next skip count to capture the next sampled packet. the skip count is a random value loaded by software. ease software in the network device must keep track of the last receive error sources and the associated error condi- tions. the network device keeps track of errors associated with received packets and informs the cpu of the source address (sa) of these error packets. 15.2 ease functionality on the GT-48002A support for ease sampling is directly integrated in the GT-48002A chip, but requires the presence of a cpu in order to function, for enabling the ease support as well as the sample packet processing. each GT-48002A chip supports two network segments (one per each port) as well as a pci system bus. sampling will occur only on the network segments, and sampled packets will be sent to the cpu via the pci system bus. sampling is not performed on the pci bus. it may, however, be performed on packets received from the pci bus, but only as a function of the counters for the destination ports (i.e. packets entering the GT-48002A via the pci bus and being transmitted through one or more ports). there is no counter for the pci interface itself. only good packets of valid length are sampled. all other packets are not sampled and do not affect the skip count. all counters and registers implemented in the GT-48002A chip in order to support ease functionality, may be accessed by the cpu from the pci system bus. 15.3 ease_register a register is defined for each external port supported on the GT-48002A device. this register is used by the cpu to load the internal count down counter, described above, with a random skip count. the count-down counter is 20 bits in length and is used to actually determine when a sample is to be made. the GT-48002A implements a shadow register for each of the ease_registers. the shadow register address is the same address as the ease_register address. after a value has been written to the ease_register it is transferred to an internal 1 word deep fifo (the shadow register) or directly to the actual count-down counter if that counter is currently idle and empty. if the value can not be transferred to the count-down counter, the value will be held in the ease_register shadow register until space becomes available (i.e. a sample has been taken). if the ease_register shadow register was written and the cpu does attempt to write a new value, the new value will silently replace the existing value. if the ease_register is empty at the time a new value needs to be loaded into the internal counter or the shadow register, the GT-48002A will simply wait, indefinitely, for the cpu to write a value into ease_register. in this situation, ease is effectively disabled on that port. ease (8 registers), offset: 0x040228 - 0x04022c 15.4 ease interrupts a status bit indicating the full/empty status of the ease_register for each external port supported on the GT-48002A, is maintained as part of the interrupt cause register. when a value is moved from the ease_register into an internal counter or shadow register, a bit is reset in the interrupt cause register indicating that the ease_register is now empty. bits field name function initial value 19:0 ease_register value loaded to the internal count-down counter of port 0 0x0 31:20 - reserved. -
GT-48002A switched fast ethernet controller 62 revision 1.2 setting this bit should also generate a processor interrupt. the interrupt cause register may be read to determine the state of the ease_registers, and may be written to clear the interrupt condition described above. it is possible for the cpu to mask the interrupt condition as well as clear the interrupt condition. the GT-48002A implements a mask bit in the interrupt mask register for each ease status bit in the interrupt cause register. masking and clearing the interrupts are executed in a way that is consistent with the other interrupts supported by the GT-48002A. interrupt cause register, offset: 0x044 interrupt mask register, offset: 0x048 15.5 sampled packet indication sampled packets are copied into the cpus receive buffers using the same mechanism as normal receive packets. the only difference, from the cpus point of view, is that the GT-48002A will put an indication in the first word of the receive buffer which identifies the packet as a sample. the sample indication bits specify which ports on the particular gt- 48002a the sample is associated with. it is possible for a single sample to be associated with more than one port at a time. for example, a broadcast packet flooded to all ports may be sampled on several ports if each of their skip counters had previously been decremented to zero. each GT-48002A device operates independently, so it is possible for the cpu to receive the same sample from different GT-48002A devices. for example, a broadcast packet flooded to all ports in the system may be sampled by several gt- 48002as at the same time. each sample will result in a separate copy of the packet being sent to the cpu. it is also possible to sample a packet which would normally be received by the cpu. in this case, only a single copy of the packet can be sent to the cpu. the cpu should be responsible for determining if a sampled packet should also be accepted as a normal receive packet. in the case where a normally received packet is also a sample from multiple GT-48002A devices (e.g. a broadcast packet), the GT-48002A must provide an indication which allows the cpu to avoid processing duplicate packets. this indication is provided by the GT-48002A which actually received the packet from an external link. an additional bit in the packet header indicates that the sample packet was originally received from an external link to the cpu as opposed to the pci system bus. other GT-48002A devices which sampled the flooded packet only because it was received from the pci interface and is being transmitted on a port whose internal counter was decremented to zero will not have this indication. these samples are pure samples and the cpu will know that it should not process the packet as a normally received packet. the first word in each 2k block holding the packet to cpu contains the following bits: bits field name function initial value 19 easereg0empty ease_register of port 0 is empty 0x0 20 easereg1empty ease_register of port 1 is empty 0x0 27 errorsasent error_source message sent to cpu 0x0 other various interrupt cause bits left unchanged. see register section for details bits field name function initial value 27:19 maskbits mask the cpu interrupt line for the appropriate bits in the interrupt cause register. 0x0 other various interrupt mask bits left unchanged. see register section for details 0x0
switched fast ethernet controller revision 1.2 63 ? sniffer (bit 31) (active high) ? n/a (bits [30:18]) ? ease sample for port 1 (bit 17) (active high) ? ease sample for port 0 (bit 16) (active high) ? ease sample is an original packet to cpu (bit 15) (active high) ? source channel number (bit 12, 1 - port1; 0 - port0;) ? byte count (bits [11:1], bit 11 is msb) ? valid bit (bit 0, active high) these parameters are written at the end of the packet transfer. 15.6 error source indications ease software in the network device must keep track of the last receive error sources and the associated error condi- tions. the GT-48002A informs the cpu of error source conditions by writing the error_source message to a new error_source buffer area in cpu memory. operations in the error_source buffer area are similar to those in the new_address, start_of_packet and intervention buffer areas. there is an error_source base address reg- ister in the GT-48002A in which the cpu writes a pointer to the error_source buffer area. the error_source buffer area is able to hold 32 entries. two types of errors are defined for this procedure: fcs error and frames too long. when the GT-48002A receives a packet with any of the above conditions, it will generate and write an error_source message to the cpus buffer area. the error_source message will contain the 48-bit source address of the error packet, the source port number and an indication of the error type. the cpu may poll the error_source buffer area for new messages. however, the GT-48002A includes a separate bit in the interrupt cause register which indicates that the GT-48002A has written an error_source message into the cpus memory. an appropriate mask bit is defined in the interrupt mask reg- ister. cpu error source base address, offset: 0x140050 error_source : the data written by the GT-48002A device to the error_source messages buffer area that contains information about an error source address. the data format is as follows: bits field name function initial value 31:8 errorsourcebaseadd contains a pointer to the cpu error_source area. the area includes 32 entries (2 32-bit words each) for the GT-48002As error_source messages. 0x0 7:0 - reserved. must be 0x0 when written. - pci bits description address [31:8] [7:3] [2:0] errorsourcebaseadd offset pointer to entry 000 data 0 [31:3] [2] [1] [0] mac address [19:47] 1 - n/a 1 - fcs error 1 - over count error data 1 [31:25] [24] [23:19] [18:0] reserved 0 - port 0; 1 - port 1; device# (bit 23 is msb) mac address [0:18]
GT-48002A switched fast ethernet controller 64 revision 1.2 15.7 enabling/disabling ease functionality an explicit hp ease enable/disable bit is provided in the global control register for the GT-48002A device. when hp ease is disabled using this bit, no ease samples nor error source messages are sent to the cpu. hp ease packet sampling can be disabled on a port anytime the internal counter can not be reloaded with a new skip count because the cpu has not provided any new values via the ease_register. interrupt conditions generated by an empty ease_register can be masked by appropriate bits in the ease_full_mask and/or interrupt cause registers. 15.8 interaction with other GT-48002A features some GT-48002A features are incompatible with hp ease, and will require that hp ease be disabled. in most cases, it can be the responsibility of software to assure that hp ease is disabled when used with other GT-48002A features. ? broadcast intervention mode : hp ease is independent of broadcast intervention mode. ? unicast intervention mode: hp ease should be disabled when using this mode. ? sniffer mode : hp ease should be disabled on the GT-48002A device which one of its ports has been config- ured to work in monitoring mode (e.g. that ports rx and tx traffic are sent to the sniffer). ? rmon station-to-station matrix : hp ease is independent of the station-to-station matrix feature. ? spanning tree support : hp ease may only be enabled on GT-48002A which has its ports configured in the forwarding state. if the global spanning tree enable bit is set and the port is blocked, listening or learning, hp ease should not be enabled. if the global spanning tree enable bit is clear or the port is in the forwarding state, hp ease can be enabled. it can be the responsibility of software to assure that ease is enabled cor- rectly when used with spanning tree features. ? address learning : hp ease in no way impacts the learning process of the GT-48002A device. ? led serial interface : ease packet sample indications are accessible via the serial led interface mainly for debug purpose. leddata bit # 125: ease sample indication for port 0. leddata bit # 126: ease sample indica- tion for port 1. (leddata bit#1 is the bit on which ledstb is high). the led circuit implements a monostable stretching function to enable viewing these dynamic signals.
switched fast ethernet controller revision 1.2 65 16. dram interface and usage the GT-48002A includes direct support for edo drams. the performance of edo satisfies the required bandwidth for data transfer, address recognition and tx descriptor fetch/update. the dram interface is entirely glueless. all accesses are performed as 32-bits. the dram interface is designed for 60ns edo drams and all timings are guaran- teed to work with these devices. refresh is performed automatically by the GT-48002A. please refer to the galileo-7 evaluation platform schematics for an example of edo dram design with the GT-48002A. the GT-48002A requires about 300kbytes of the dram for the address table and other private data structures. the remainder is used for packet buffers. following power-up or system reset, the GT-48002A device creates the mac address table in dram, and initializes all locations in the table to indicate that invalid entries exist in all locations. galileo recommends using dram with 256k x 16 configuration. when using this configuration, 2 dram chips are required for 1 mbyte, and 4 dram chips are required for 2 mbytes. if 1 mbyte is selected, ras0* should be con- nected to 2 dram chips while ras1* should be left unconnected. if 2 mbytes is selected, ras0* will control the first 1mb bank, while ras1* will activate the second 1mb bank. ddata[31:0], daddr[8:0], cas*, and we* should be connected to both banks. using 1 or 2 mbytes of dram is entirely up to the architect. 2mbytes increases the size of the rx buffer space as shown in table 3. this performance advantage must be weighed against the cost of additional memory. 17. led support the GT-48002A supports two types of led interfaces: a serial interface and a parallel interface. the serial led inter- face is similar to the 3-pin led interface of the gt-48001a device which requires a pal to interpret the led bit stream. galileo also provides reference designs and example pal equations in the led interface application note available on our website. the parallel interface offers the led information directly via the device outputs. an external driver is required to drive the leds. the mode of the parallel led interface is selectable via the ledmode pin. 17.1 led indications interface description table 32 shows the data accessible on the led indications serial interface for each of the GT-48002A ports. 17.2 detailed led signal description 17.2.1 primary port status led the primary port status led indicates the port status in two operation modes, selectable via the ledmode input. table 32: led signals available data description symbolic signal name type primary port status led primary_port_status n/a transmit data in progress transmit dynamic receive data in progress receive dynamic collision active collision dynamic forwarding of unknown packets enabled unknown_enable static the port is configured as sniffer port_is_sniffer static full/half duplex full_duplex static receive buffer full rx_buffer_full dynamic
GT-48002A switched fast ethernet controller 66 revision 1.2 17.2.1.1 primary port status led in mode 0: (ledmode input is low) in this mode, the port status led provides the following information: if port is disabled port status led is off; else if link integrity test failed port status led blinks once; else if partition state detected port status led blinks twice; else everything is ok (port status led is on) 17.2.1.2 status led blink timing (mode 0) link integrity test failed, status led blinks once. primary status bit is active for 500 ms every 5s. partition, status led blinks twice. primary status bit is activated twice every 5seconds for 500 ms each time, with a pe- riod of 1500 ms between two consecutive activations. figure 16: primary status led timing (port partitioned) 17.2.1.3 primary port status led (mode 1): (ledmode input is high) in this mode, the port status led initially displays the port link status information (indication type a) and then switches to reflect the port traffic (transmit or receive) activity (indication type b). the switching between the two types of indi- cations is as follows: indication type a: the port status led indicates the port link status for a period of about 3 to 3.5 seconds (active - link test passes, inac- 500ms 5 seconds link intregrity test fails: primary status led blinks 500ms every 5 seconds 500ms 5s port partitioned: primary status led blinks twice for 500 ms every 5 seconds 500ms 1500 ms
switched fast ethernet controller revision 1.2 67 tive - link test fails) following any of the events below: 1. rst* deassertion 2. transition between link test fail to link test pass following this time period, the port status led will switch to indication type b. in the case that the link test fails, the por t status led will remain inactive and will not switch to indication type b. indication type b: the port status led indicates the port traffic (transmit or receive) activity which is a logical or of the txen active and rxdv active dynamic signals. the "monostable" function is applied to this indication type so the led can be viewed for a period of about 62 ms for ledmode 0, or for about 7.5 ms for ledmode 1, per each traffic activity. the port status led will switch to indication type a on the following cases: 1. rst* assertion 2. transition from link test pass to link test fail 17.2.2 transmit data in progress this signal indicates the port is transmitting data. 17.2.3 receive data in progress this signal indicates port receive activity. 17.2.4 collision active this signal indicates the port collision event detected by the port. 17.2.5 full/half duplex this signal indicates the port duplex: active - full duplex, inactive - half duplex. 17.2.6 receive buffer full in order for this led to be active, rx buffer threshold must be enabled (see table 4). this signal indicates the port receive buffer status: active - the buffer exceeds it's programmed threshold, inactive otherwise. 17.2.7 forwarding of unknown packets enabled this signal indicates the port mode of forwarding unknown packets: active - forwarding unknown packets enabled, inactive otherwise. 17.2.8 the port is configured as sniffer this signal indicates if the port mode is configured as a sniffer target port: active - port is a target sniffer, inactive othe r- wise. 17.2.9 link fail state this signal indicates the port link status: active - link is down, inactive - link is up.
GT-48002A switched fast ethernet controller 68 revision 1.2 17.2.10 partition state this signal indicates the port partition status: active - port entered partition state, inactive otherwise. 17.2.11 secondary port status led indicates the secondary status mode as per the inverted value of ledmode input. 17.2.12 pure port status led this signal will be inactive for any of the following events: ? port is disabled ? link integrity test failed ? partition state detected otherwise, this signal is active. 17.3 led signals timing type 17.3.1 static led signals these signals are stable for relatively long time periods. the led indication directly reflects their current value. the stat- ic signals are: ? port status (ledmode 0) ? forwarding of unknown packets enabled ? port configured as sniffer ? full/half duplex 17.3.2 dynamic internal signals: these signals are typically active for short time periods. in order to be visible through the led indication interfaces, the GT-48002A includes a "monostable" function per each of these dynamic signals so they can be viewed on the led in- dication output for a period of about 62 ms in ledmode 0 and 7.5 ms in ledmode 1. the dynamic signals are: ? port status (ledmode 1) ? transmit data in progress (txen) ? receive data in progress (rxdv) ? collision active (col) ? receive buffer full 17.4 serial led interface description the led serial interface consists of three outputs: ? ledclk : ledclk is the primary timebase of the led indications interface. it is a 50% duty cycle free running clock at a fixed frequency selectable via the ledmode input. if ledmode is low, ledclk will be 1 mhz. if ledmode is high, ledclk will be 202 khz. ledclk is high-z when rst* is asserted. ? ledstb : ledstb (active high) indicates the beginning of the data frame. ledstb is activated for a duration of one ledclk cycle once every 128 ledclk cycles, starting from rst* deactivation. this signal marks the begin- ning of the 128 bit long led data frame. ledstb transitions occur 90 ns after ledclk rising edge. ? leddata : the internal signals are multiplexed on the leddata output for every data frame. ledstb activation signals the presence of data bit #1 (out of 128 bits) on the leddata output. leddata transitions occur 90 ns after ledclk rising edge. all internal signals accessible via leddata are active high internally and are inverted on the leddata output (i.e. when an internal signal is active, the data bit on the leddata output will be low). for example: if port 0 transmits data, the internal_event_transmit[0] signal is active high and the corresponding bit 9 in the leddata serial stream is low.
switched fast ethernet controller revision 1.2 69 the timings for the led serial interface are shown in figure 17. figure 17: serial led interface timings 17.4.1 table of internal activities/status driven via the serial led interface the following table defines a bit by bit description of the internal signals driven through the led indications serial inter- face. the bit number refers to the activation of ledstb. ledstb is active for bit# 1. reserved bits contents is not de- fined (i.e. can be either high or low). table 33: led signals bit number signal bit number signal 1 primary_port_status[0] 22 port_is_sniffer[1] 2 primary_port_status[1] 23 full_duplex[1] 3-8 private 24-72 -reserved- 9 transmit[0] 73 link_test_fail[0] 10 receive[0] 74 link_test_fail[1] 11 collision[0] 75-80 -reserved- 12 rx_buffer_full[0] 81 partition[0] 13 unknown_enable[0] 82 partition[1] 14 port_is_sniffer[0] 83-88 -reserved- 15 full_duplex[0] 89 secondary_port_status[0] 16 -reserved- 90 secondary_port_status[1] 17 transmit[1] 91-96 -reserved- 18 receive[1] 97 pure_port_status[0] 19 collision[1] 98 pure_port_status[1] 20 rx_buffer_full[1] 99-128 -reserved- 21 unknown_enable[1] ledclk 1us 90ns 90ns ledstb leddata or 4.95us
GT-48002A switched fast ethernet controller 70 revision 1.2 17.5 parallel led interface description the parallel led interface consists of the six macled output pins per port. ? mac0led[0], mac1led[0] : port status led ? mac0led[1], mac1led[1] : transmit data in progress (txen) ? mac0led[2], mac1led[2] : receive data in progress (rxdv) ? mac0led[3], mac1led[3] : collision active (col) ? mac0led[4], mac1led[4] : full/half duplex ? mac0led[5], mac1led[5] : receive buffer full the mac0led and mac1led outputs are active low. an external buffer should be added for each driven led. the mac0led and mac1led outputs reflect the same data (value and timing) which is accessible via the serial interface. the parallel interface includes the same "monostable" function on the dynamic internal signals as the serial interface. the monostable" function timing is selected via the ledmode input. figure 18: parallel led interface timings t ms t ms macxled macxled where: t = ~62 ms for ledmode input = 0 t = ~7.5 ms for ledmode input = 1 dynamic signals static signals
switched fast ethernet controller revision 1.2 71 18. interrupts the GT-48002A signals interrupts to a management cpu via the pci inta# pin. interrupts are maskable through the interrupt mask register and the interrupt source is determined through the interrupt cause register. the interrupt mask register defaults to masking all interrupts. a 0 in the appropriate bit means that particular interrupt will be masked. a 1 in the appropriate bit means that particular interrupt will not be masked. the default is that all interrupts are masked. interrupts are cleared by writing 0 to the corresponding bit in the interrupt cause register. writing 1 to a bit in the cause register has no effect. 19. reset configuration the GT-48002A uses several pins as configuration inputs to set certain parameters following a reset. the definition of the configuration pins changes immediately after reset to their usual function. 19.1 configuration pins configuration pins must be pulled up or down externally at reset to select the desired operational parameter. the recommended value of the pull-up/down resistors is 4.7k ohms. table 34 shows the configuration pins for the gt- 48002a. 19.2 configuration input timings the configuration inputs have two timing requirements: ? setup/hold time to clock (as any synchronous input) ? setup of at least 10 clock cycles before reset de-assertion (rising edge). you can guarantee these parameters by using resistors to strap the configuration pins and delaying reset de-asser- tion until least 10 clock cycles after the clock is stable. table 34: reset pin strapping options pin configuration function daddr[4:0] device number daddr[5] dram size 0- 1- 2mbyte 1mbyte daddr[6] half/full duplex mode for port 0 0- 1- half duplex full duplex daddr[7] half/full duplex mode for port 1 0- 1- half duplex full duplex daddr[8] dram type 0- 1- reserved edo ledmode* led mode 0- 1- ledmode 0 ledmode 1 forcelinkpass* force link pass (for both port 0 and port 1) 0- 1- force link status to link is up read link status from the phy via smi
GT-48002A switched fast ethernet controller 72 revision 1.2 20. switch expansion figure 19 shows how a gt-4800x switch may be expanded beyond the pci physical limit of 10 loads. multiple gt- 48002a devices are connected to a local pci bus. the pci buses are connected via pci-to-pci bridges. these devices are being used to filter the traffic between multiple pci buses, and therefore to increase the effective aggregate bandwidth in the switch. the local traffic between GT-48002A devices in one pci bus is not forwarded to the other gt- 48002a devices. only the traffic between GT-48002A devices in different pci buses crosses the bridges.such an implementation requires a cpu to initialize the bridges. figure 19: switch expansion via pci-to-pci bridges GT-48002A pci-to-pci bridge gt-48001a gt-48001a pci-to-pci bridge GT-48002A cpu pci bus pci bus pci bus 8 ports 2 ports 8 ports 100basetx 2 ports 100basetx
switched fast ethernet controller revision 1.2 73 21. development tools galileo technology and a number of third party vendors offer development tools for the GT-48002A. vendors wishing to join galileos third party developers program should contact galileos ethernet marketing group (ethernet@gali- leot.com.) 21.1 evaluation platforms galileo provides the galileo-7 evaluation platform for the GT-48002A. galileo-7 is a full sized pci card that includes a single GT-48002A with 2 10/100basex ports with mii connectors. the evaluation board also comes with two 10/100 modules which include the mii connector, phy circuit, and rj45 connector. galileo-7 can be used stand-alone, or plugged into a pci backplane, including the galileo-4pb passive backplane. the galileo-7 can be easily combined with the galileo-6q 10baset evaluation board for the gt-48001a, allowing mixed 10/100-mbps switched to be proto- typed rapidly. 21.2 verilog models galileo provides verilog models for all components, including the GT-48002A. please contact your local sales repre- sentative for pricing information. 21.3 reference designs several reference designs are available for the GT-48002A. full schematics and design information are available for the galileo-7 board on our website. check our website periodically for updates. 21.4 complimentary products galileo manufactures a line of cpu core logic chips for mips processors that incorporate pci interfaces. the gt- 64010a provides all core logic functions for 64-bit bus mips processors: r4600, r4650, r4700 and r5000. for the 32- bit bus r4640, galileo offers the gt-64011. information on both devices is available on our website.
GT-48002A switched fast ethernet controller 74 revision 1.2 22. register tables the GT-48002A incorporates the required pci configuration registers, command registers and various counters for management purposes. the GT-48002A can work in stand-alone mode, in which there is no requirement for cpu inter- vention (a system with no cpu) in which case the default values of the control registers are used. the actual address of an internal register is the sum of the GT-48002A base address and the particular registers off- set. the cpu defines the base address by writing to the internal registers base address register in the pci configura- tion area. 22.1 register map description offset internal control registers global control 0x140028 port control 0 0x040200 port control 1 0x040204 status 0x14002c cpu and sniffer numbers 0x140030 interrupt cause 0x044 interrupt mask 0x048 serial parameters 0x040220 receive buffers threshold 0x040224 cpu buffer base address 0x140034 cpu start of packet base address 0x140038 cpu new address base address 0x14003c cpu intervention base address 0x140048 device table 0x40 timeout counter 0x04c port 0 counter block 0x040000 - 0x040054 port 1 counter block 0x040058 - 0x0400ac pci global counters 0x140040 -0x140044 smi register 0x14004c pci configuration device and vendor id 0x000 status and command 0x004 class code and revision id 0x008 header type, latency timer, cache line 0x00c internal/dram base address register 0x010 interrupt pin and line 0x03c
switched fast ethernet controller revision 1.2 75 22.2 internal control registers global control, offset: 0x140028 bits field name function initial value 0 dislearnpro disable learning process. 0 - learning process is enabled 1 - learning process is disabled. the GT-48002A will not learn any new addresses from the ethernet ports 0x0 1 rmonen rmon enable. 0 - rmon disabled 1 - the GT-48002A enters the rmon mode (station- to-station connectivity matrix) and asserts the chipsel* pin when it reads the packets byte count and source and destination addresses from the dram 0x0 2 devtabmod device table mode. 0 - the GT-48002A updates the appropriate bits in the table upon master abort 1 - the cpu updates the device table 0x0 3 - reserved. 0x1 4 dramarbpri dram arbiter priority. this bit indicates the dram arbitration scheme of the four GT-48002A internal units as follows: 0 - 1) frame control unit, 2) switching core unit, 3) pci and interpci control units in round robin scheme. 1- 1) frame control unit, 2) switching core unit, 3) interpci control unit, 4) pci control unit 0x0 5 descarbpri descriptor control arbiter priority. this bit indicates the descriptor control arbitration scheme as follows: 0 -round robin between the pci side and the 2 ether- net ports. the 2 ports have equal priority. 1- pci has higher priority than the 2 ports. the priority is: pci, port 0; pci, port 1, pci, port 0; pci, port 1... 0x1 6 forwunk forward unknown packets. it defines whether the GT-48002A will forward unknown packets to the cpu or not. 0 - do not forward 1 - forward 0x0 7 forwnewadd forward new address. it defines whether the GT-48002A will forward new address messages to the cpu or not. 0 - do not forward 1 - forward 0x0 8 recen recovery enable. it defines whether the recovery process is enabled or not. 0 - disabled 1 - enabled 0x1
GT-48002A switched fast ethernet controller 76 revision 1.2 9 sniftyp sniffer type. this bit indicates the sniffer type. the sniffer can be a cpu or a dedicated port in one of the GT-48002A devices which was assigned to be the sniffer. 0 - cpu type 1 - GT-48002A type 0x1 10 cpuen cpu enable. this bit indicates that there is a cpu in the system. 0 - cpu does not exist 1 - cpu exists 0x0 11 rmontopci rmon to pci enable. meaningful only when rmonen bit is set. 0 - the GT-48002A reads the da/sa of the packet that is forwarded only to the local ports. 1 - the GT-48002A reads the da/sa of the packet that is forwarded to the local ports and the pci. 0x0 19:12 - reserved. 0x0 20 bufthren buffer threshold enable. 0 - there is no limitation on the buffers allocation (other than physical memory size.) 1 - the buffers allocated to the ports and the pci are limited to the number which is written in the rx buffers threshold register. this bit is meaningful only when disbufthr* pin is dis- abled. 0x1 21 - reserved. 0x0 22 forwmulti forward multicast. 0 - the GT-48002A forwards multicast packets to all the ports and to the cpu. 1 - multicast packets forwarded only to the cpu. 0x0 23 paren partition enable. when more than 61 collisions occur while transmit- ting, the GT-48002A enters the partition mode. it waits for the first good packet from the wire, and then goes back to normal mode. under partition mode it continues transmitting, but not receiving. 0 - normal mode 1- partition mode 0x0 24 spanen spanning tree enable. 0 - the bpdu (bridge protocol data unit) packets are treated as multicast packets, and therefore are for- warded to all ports. 1 - the GT-48002A forwards bpdu packets only to the cpu. 0x0 25 enease ease sampling enable/disable. 0 - ease sampling disabled. 1 - ease sampling enabled. 0x0 bits field name function initial value
switched fast ethernet controller revision 1.2 77 26 mibctrmode 0 - mib counters reflect forwarded packets only. 1 - mib counters reflect local and forwarded packets. note: a local packet is a packet which is destined to a station on the same port and is not switched. 0x0 27 enabledevice used to enable or disable the GT-48002A. used to enable or disable the gt-48001a. this bit along with endev* (external hardware pin) as well as enport (bit 0 of the port control register) enables or disables the port/device. see table 1, enabling/disabling ports of the GT-48002A, on page 15. 0x0 28 rstqueues reset queues. used to reset the transmit and receive queues via software. 0 - the tx and rx queues of the GT-48002A are reset according to rstqueue*. 1 - reset the tx and rx queues immediately. 0x0 29 crcgenen used to enable or disable the crc generation during transmit of cpu generated packets to the gt- 48002a. 0 - crc generation is disabled 1 - crc generation is enabled . 0x0 30 mibclrmode mib counter clear-on-read mode 0 - mib counters will be cleared after they have been read. 1 - mib counters will not cleared after they have been read. 0x0 31 reserved this bit is reserved and must be written to 0. 0x0 bits field name function initial value
GT-48002A switched fast ethernet controller 78 revision 1.2 port control (2 registers), offset: 0x040200 - 0x040204 note: modifying bits [9:1] of any port control register must be preceeded by disabling that port via bit[0], the endev* input or bit[27] of the global control register (enabledevice). bits field name function initial value 0 porten port enable. 0 - port is disabled 1 - port is enabled 0x1 1 fulldx half/full duplex. 0 - port works in half-duplex mode 1 - port works in full-duplex mode daddr[6] for port 0 or daddr[7] for port 1 (at reset) 2 monmode monitoring mode. 0 - port works in normal mode 1 - port works in monitoring mode; all rx and tx pack- ets are sent to the sniffer 0x0 5:3 reserved reserved. 0x1 6 filbroad filter broadcast. 0 - broadcast packets are forwarded to all ports. 1 - the GT-48002A discards broadcast packets. 0x0 7 forwunk forward unknown. 0 - unknown packets are forwarded. 1 - the GT-48002A does not forward unknown pack- ets to this port. 0x0 8 spanen spanning tree enable. meaningful only when spanen bit in the global con- trol register is set. 0 - all packets are accepted. 1 - the GT-48002A discards all incoming/outgoing packets except for bpdu packets. 0x0 9 vtagen virtual lan tagging packet extension enable 0 - accept packets up to 1518 bytes in length 1 - accept packets up to 1522 bytes in length 0x0
switched fast ethernet controller revision 1.2 79 status, offset: 0x14002c (read-only) cpu and sniffer numbers, offset: 0x140030 bits field name function initial value 4:0 devnum device number. indicates the GT-48002A number chosen by the designer. daddr[4:0] at reset 5 dramsize dram size. indicates the dram size. 0- 2mbyte 1- 1mbyte daddr[5] at reset 6 port0par port0 partition. this bit indicates the port 0 partition status. 0 - no partition (normal mode) 1 - partition 0x0 7 port0ltf port0 link test fail. this bit indicates the port 0 link test status. 0 - link test pass 1 - link test fail 0x0 8 port1par port1 partition. this bit indicates the port 1 partition status. 0 - no partition (normal mode) 1 - partition 0x0 9 port1ltf port1 link test fail. this bit indicates the port 1 link test status. 0 - link test pass 1 - link test fail 0x0 bits field name function initial value 4:0 snifdevnum sniffer device number. these bits specify the sniffer device number chosen by the designer. the same value should be pro- grammed to all GT-48002A/gt-48001a devices shar- ing the same pci bus. 0x0 (bit 4 is msb) 7:5 snifportnum sniffer port number. these bits specify the sniffer port number chosen by the designer. the same value should be programmed to all GT-48002A/gt-48001a devices sharing the same pci bus. 0x0 (bit 7 is msb) 12:8 cpudevnum cpu device number. these bits specify the device number of the cpu as chosen by the designer. this number must not be the same as any other galnet device is the system. the same value should be programmed to all GT-48002A/ gt-48001a devices sharing the same pci bus. the corresponding bit for the cpudevnum value should be set in the device table (offset 0x40) for all gt- 48002a/gt-48001a devices sharing the same pci bus. 0x0 (bit 12 is msb)
GT-48002A switched fast ethernet controller 80 revision 1.2 interrupt cause, offset: 0x044 bits field name function initial value 0 intsumm interrupt summary. logical or of all the interrupt bits. 0x0 1 newadd new address. this bit is set by the GT-48002A when a new address is received. 0x0 2 txend tx end of packet. this bit is set by the GT-48002A upon transferring a end_of_packet message to the cpu main mem- ory. 0x0 3 rxstart rx start of packet. this bit is set by the GT-48002A upon sending a start_of_packet message to the cpu. 0x0 4 addrrecf address recognition failed. this bit is set by the GT-48002A when the address recognition cycle fails (due to a large number of mac addresses). 0x0 5 flushtxq flush tx queue. this bit is set by the GT-48002A when one of the tx queues is flushed due to the watchdog timer. 0x0 6 mastrdpar master read parity. this bit is set by the GT-48002A upon master read parity error on the pci. 0x0 7 mastwrpar master write parity. this bit is set by the GT-48002A upon master write error on the pci. 0x0 8 addpar address parity. this bit is set by the GT-48002A upon address parity error on the pci. 0x0 9 mastabort master abort. the this bit is set by the GT-48002A upon master abort on pci. 0x0 10 tarabort target abort. this bit is set by the GT-48002A upon target abort on the pci. 0x0 11 linkchange link state change. this bit is set by the GT-48002A upon a change in the link state (down->up, up->down) for any pin. 0x0 12 part partition. this bit is set by the GT-48002A upon entering parti- tion state in one of the ports. 0x0 13 bufwrap buffer wrap-around. this bit is set by the GT-48002A upon transferring 16 packets to the cpu main memory. 0x0
switched fast ethernet controller revision 1.2 81 interrupt mask, offset: 0x048 serial parameters, offset: 0x040220 14 interv intervention. this bit is set by the GT-48002A upon transferring a buffer_request message in intervention mode. 0x0 15 intervwrap intervention wrap-around. this bit is set by the GT-48002A upon transferring 256 buffer_request messages in intervention mode. 0x0 bits field name function initial value 15:0 maskbits mask to the cpu interrupt line for the appropriate bits in the interrupt cause register. the default is to mask all interrupts. 0 - mask interrupt 1 - do not mask interrupt 0x0000 bits field name function initial value 11:0 - reserved. 0x823 16:12 ipgdata inter-packet gap (ipg): the ipg varies between 12 bit-times (0x3) and 124 bit-times (0x1f). the step is 40ns@100mbs or 400 ns@10mbs (4 bit-times). the default value is 18 hex, or 0.96us@100mbs (9.6us@10mbs). value should be written in hexadecimal format. note : these bits may be changed only when porten bits are set to 0 in all port control registers (port is disabled). 0x18 = 24 decimal 21:17 datablind data blinder: the number of nibbles from the beginning of the ifg, in which the GT-48002A will restart the ifg counter when detecting a carrier activity. following this value, the GT-48002A will enter the data blinder zone and will not reset the ifg counter to ensure fair access to the medium. value should be written in hexadecimal format. the default is 10 hex (64 bit times - 2/3 of the default ifg). the step is 40ns (4 bit-times). valid range is 3 to 1f hex nibbles. note : these bits may be changed only when porten bits are set to 0 in all port control registers (port is disabled). 0x10 = 16 decimal 25:22 reserved reserved 0xb bits field name function initial value
GT-48002A switched fast ethernet controller 82 revision 1.2 rx buffers threshold, offset: 0x040224 bits field name function initial value 3:0 txwattim tx watchdog timer. for 100 mbps operation, the default value of the timer is 63msec and the range is between 10.5msec and 168msec, in 10.5 ms steps. for 10 mbps operation, the default value of the timer is 630msec and the range is between 105ms to 1680ms, in 105 ms steps. valid values: 1 to f hex. value should be written in hexadecimal format. 0x6 (63 ms @ 100mbps; 630 ms @ 10 mbps) 8:4 - reserved. 0x04 12:9 rxbufthr rx buffer threshold. these bits determine the threshold of the receive buff- ers. meaningful only when the bufthren bit in the glo- bal control register is set. the rx buffer threshold equals to: (rxbufthr x 20 + 20), the step is 20, and the value varies between 20 (0x0) and 320 (0xf). the default is 80 (0x3) for 1mb dram and 140 (0x6) for 2mb dram. value should be written in hexadecimal format. 0x3 (80) @ 1m dram 0x6 (140) @ 2m dram 15:13 - reserved. during writes to this register, bits 15:13 must be written to their default values. 0x1 @ 1m dram 0x3 @ 2m dram 18:16 pcibufthr pci buffer threshold. these bits determine the threshold of the pci receive buffers. the pci buffer threshold equals to: (pcibufthr x 50 +100). step is 50, and the value var- ies between100 (0x0) and 320 (0xf). the default is 150 (0x1) for 1mb dram and 200 (0x2) for 2mb dram. value should be written in hexadecimal format. 0x1 (150) @ 1m dram 0x2 (200) @ 2m dram
switched fast ethernet controller revision 1.2 83 cpu buffer base address, offset: 0x140034 note: when reading the cpu buffer base address register (0x140034), the address will be read out 1 bit shifted left. cpu start_of_packet base address, offset: 0x140038 cpu new_address base address, offset: 0x14003c cpu intervention base address, offset: 0x140048 device table, offset: 0x40 bits field name function initial value 31:15 baseadd contains a pointer to the cpu buffer area 0x0 14:0 reserve reserved. must be 0x0 when written. - bits field name function initial value 31:8 stbaseadd contains a pointer to the cpu start_of_packet area. the area includes 32 entries (2 32-bit words each) for the GT-48002As start_of_packet messages. - 7:0 reserve reserved. must be 0x0 when written. - bits field name function initial value 31:8 nabaseadd contains a pointer to the cpu new_address area. the area includes 32 entries (2 32-bit words each) for the GT-48002As new_address messages. 0x0 7:0 reserve reserved. must be 0x0 when written. - bits field name function initial value 31:11 intbaseadd contains a pointer to the cpu buffer_request area for unicast packets that are marked for interven- tion. the area includes 256 entries (2 32-bit words each) for the GT-48002As buffer_request messages. 0x0 10:0 reserve reserved. must be 0x0 when written. - bits field name function initial value 31:0 devtab GT-48002A device table. each bit represents a gt- 48002a device in the system. 0xffffffff
GT-48002A switched fast ethernet controller 84 revision 1.2 time out counter, offset: 0x4c 22.3 port mib counters (2 blocks), offset: 0x040000 - 0x0400ac the cpu must read all of the mib counters during initialization in order to reset the counters to 0. all counters are 32- bits. the cpu must access the counters using single datum transactions (burst reads/writes are not allowed.) mib counters can be cleared by reading, or left intact after a read based on the mib clear mode (bit 30 in the global com- mand register.) during initialization, the cpu must read all of the mib counters in order to reset the counters to 0. the counters will only be reset to 0 if mibclrmode (bit 30 of the global control register) is set to 0 (default). if mib- clrmode bit is 1, reading the mib counters will have no effect. table 35 lists definitions for terms used in the counter descriptions. table 35: definitions used in counter descriptions bits field name function initial value 7:0 timeout0 specifies in pci clock units the number of clocks the GT-48002A holds the pci bus before the generation of retry termination. used for the first data transfer. 0x0f (16 clocks) 15:8 timeout1 specifies in pci clock units the number of clocks the GT-48002A holds the pci bus before the generation of retry termination. used for data transfers following the first data. 0x07 (8 clocks) 23:16 retrycounter specifies the number of retries the GT-48002A attempts to do in the pci before aborting the transac- tion. value of 0x0 disable this counter (unlimited retries). 0xff (256 times) term definition packet data section all data bytes in the packet following the sfd until the end of the packet packet data length the number of data bytes in the packet data section data octet a single byte from the packet data section nibble 4 bits (half byte) of a data octet misaligned packet a packet with an odd number of nibbles received good packet a received packet which is not rejected and enters the switching core to be trans- mitted later transmitted good packet any transmitted packet from the GT-48002A collision event a collision has been detected until than 576 bit times into the transmitted packet after txen. late collision event a collision has been detected later than 576 bit times into the transmitted packet after txen. rx error event the input rx_err has been asserted dropped packet a received packet which is ignored due to lack of available receive buffers (port is in buffer_full state) local packet a received packet whose destination address is mapped to the receiving port rejected packet a received packet which is not forwarded due to error such as bad crc, rx error event, invalid size (too short or too long). mibctrmode bit 26, mibctrmode, of the global control register (offset 0x140028)
switched fast ethernet controller revision 1.2 85 vtagen bit 9, vtagen, of the port control register (offset 0x040200-0x040204) maxframesize 1518 for vtagen = 0 (default) or 1522 for vtagen = 1 table 36: port mib counters address for port 0 counter name function initial value 0x040000 bytes received mibctrmode = 0: this counter is incremented once for every data octet of good packets (unicast + multicast + broadcast) received. mibctrmode = 1: this counter is incremented once for every data octet of good packets (unicast + multicast + broadcast packets) and for local and dropped packets. - 0x040004 bytes sent this counter is incremented once for every data octet of a transmitted good packet. - 0x040008 frames received mibctrmode = 0: this counter is incremented once for every good packet (unicast + multicast + broadcast) received. mibctrmode = 1: this counter is incremented once for every good packet (unicast + multicast + broadcast packets) and for local and dropped packets received. - 0x04000c frames sent this counter is incremented once for every transmitted good packet. - 0x040010 total bytes received this counter is incremented once for every data octet of all receved packets. this includes data octets of rejected and local packets which are not forwarded to the switching core for transmission. this counter should reflect all the data octets received on the line. note: a nibble is not counted as a whole byte. - 0x040014 total frames received this counter is incremented once for every receved packets. this includes rejected and local packets which are not for- warded to the switching core for transmission. this counter should reflect all packets received on the line. - 0x040018 broadcast frames received mibctrmode = 0: this counter is incremented once for every good broadcast packet received. mibctrmode = 1: this counter is incremented once for every good broadcast packet received and for local and dropped broadcast packets. - 0x04001c multicast frames received mibctrmode = 0: this counter is incremented once for every good multicast packet received. mibctrmode = 1: this counter is incremented once for every good multicast packet received and for local and dropped broadcast packets. this counter does not include broadcast packets. - term definition
GT-48002A switched fast ethernet controller 86 revision 1.2 0x040020 crc error this counter is incremented once for every received packet which meets all the following conditions (i.e. logical and of the following conditions): 1. packet data length is between 64 and maxframesize bytes inclusive (i.e. valid packet data length per ieee std). 2. packet has invalid crc (non-a also counted packets with odd number of nibbles). 3. collision event has not been detected. 4. late collision event has not been detected. 5. rx error event has not been detected. - 0x040024 oversize frames this counter is incremented once for every received packet which meets all the following conditions (i.e. logical and of the following conditions): 1. packet data length is greater than and maxframesize. 2. packet has valid crc. 3. rx error event has not been detected. - 0x040028 fragments this counter is incremented once for every received packet which meets all the following conditions (i.e. logical and of the following conditions): 1. packet data length is less than 64 bytes -or- packet with- out sfd and is less than 64 bytes in length. 2. collision event has not been detected. 3. late collision event has not been detected. 4. rx error event has not been detected. - 0x04002c jabber this counter is incremented once for every received packet which meets all the following conditions (i.e. logical and of the following conditions): 1. packet data length is greater than maxframesize. 2. packet has invalid crc. 3. rx error event has not been detected. - 0x040030 collision this counter is incremented once for every received packet which meets both of the following conditions (i.e. logical and of the following conditions): 1. collision event has been detected. 2. rx error event has not been detected. - 0x040034 late collision this counter is incremented once for every received packet which meets both of the following conditions (i.e. logical and of the following conditions): 1. late collision event has been detected. 2. rx error event has not been detected. - 0x040038 frames 64 bytes this counter is incremented once for every received and transmitted packet with size of 64 bytes. this counter includes rejected received and transmitted packets. - 0x04003c frames 65-127 bytes this counter is incremented once for every received and transmitted packet with size of 65 to 127 bytes. this counter includes rejected received and transmitted packets. - table 36: port mib counters address for port 0 counter name function initial value
switched fast ethernet controller revision 1.2 87 0x040040 frames 128-255 bytes this counter is incremented once for every received and transmitted packet with lsize of 128 to 255 bytes. this counter includes rejected received and transmitted packets. - 0x040044 frames 256-511 bytes this counter is incremented once for every received and transmitted packet with lsize of 256-511 bytes. this counter includes rejected received and transmitted packets. - 0x040048 frames 512-1023 bytes this counter is incremented once for every received and transmitted packet with lsize of 512-1023 bytes. this counter includes rejected received and transmitted packets - 0x04004c frames 1024- 1522 bytes this counter is incremented once for every received and transmitted packet with lsize of 1024 to maxframesize bytes. this counter includes rejected received and transmit- ted packets. - 0x040050 mac rx error this counter is incremented once for every received and transmitted packet where the rx error event has been detected. this counters that will not be incremented when this counter increments include: crc error, oversize frames, fragments, jabber, collision and late collision. - 0x040054 dropped frames this counter is incremented once for every received dropped packet. - table 36: port mib counters address for port 0 counter name function initial value
GT-48002A switched fast ethernet controller 88 revision 1.2 22.4 pci global counters, offset: 0x140040 - 0x140044 the cpu must read all counters during initialization in order to reset the counters to 0. all counters are 32-bits. 22.5 smi register, offset: 0x14004c 22.6 pci configuration registers the gt- 48001 contains the required pci configuration registers. these registers are accessed from the pci. device and vendor id, pci offset: 0x000 (read only) table 37: pci mib counters address counter name function initial value 0x140040 pcifrarec good frames received from the pci - 0x140044 pcifrasent good frames sent to the pci - bits field name function initial value 15:0 data for smi read operation: two pci transactions are required: (1) pci write to the smi register with opcode = 1, phyad, regad with the data being any value. (2) pci read from the smi register. when read- ing back the smi register, the data is the addressed phy register contents if the readvalid bit (#27) is 1. the data remains undefined as long as readvalid is 0. no pci write to the smi register should take place until the readvalid is returned with the value of 1. for smi write operation: one pci transaction is required: pci write to the smi register with opcode = 0, phyad, regad with the data to be written to the addressed phy register. no pci write to the smi regis- ter should take place until a minimum of 320 mdc clock cycles have passed. n/a 20:16 phyad phy device address 0x0 25:21 regad phy device register address 0x0 26 opcode 0 - write 1 - read 0x1 27 readvalid 1 - indicates that the read operation has been com- pleted for the addressed regad register, and the data is valid on the data field. once set, this bit is cleared following the pci read operation. 0x0 31:28 n/a this bits should be driven 0x0 during any write to the smi register. 0x0 bits field name function initial value 15:0 venid vendor id. provides the manufacturer of the pci device. for the GT-48002A this is galileos pci ven- dor id (0x11ab.) 0x11ab 31:16 devid provides the unique gt- 48002a device id number 0x4802
switched fast ethernet controller revision 1.2 89 status and command, pci offset: 0x004 bits field name function initial value 1 memen memory enable. controls the GT-48002As response to memory accesses. 0 - disable, the GT-48002A will ignore all memory accesses on the pci bus. 1 - enable, the GT-48002A will respond to memory accesses on the pci bus. 0x1 2 masen master enable. controls the GT-48002As ability to act as a master on the pci bus. 0 - disable 1 - enable 0x1 4 memwrinv memory write and invalidate. controls the GT-48002As ability to generate memory write and invalidate commands on the pci bus. 0 - disable 1 - enable 0x0 5 reserved reserved. read only. 0x0 6 paren parity enable. controls the GT-48002As ability to respond to parity errors on the pci. 0 - disable 1 - enable 0x0 8 syserren system error enable. controls the GT-48002As ability to assert the serr* pin. 0 - disable 1 - enable 0x0 22:9 reserve reserved. read only. 0x0 23 tarfastbb target fast back-to-back. this indicates that the GT-48002A is capable of accepting fast back-to-back transactions on the pci bus. read-only bit. 0x1 24 datapardet data parity detected. this bit is set by the GT-48002A when it detects a data parity error during a master operation. this bit is cleared by writing 1 to it. 0x0 26:25 devseltim device select timing. these bits indicate the GT-48002As devsel* timing. the GT-48002As devsel* timing is always set at medium (01), as defined in the pci specification. read only. 0x1 28 tarabort target abort. this bit is set upon target abort. this bit is cleared by writing 1 to it. 0x0
GT-48002A switched fast ethernet controller 90 revision 1.2 class code and revision id, offset: 0x008 (read-only) header type, latency timer, cache line, offset: 0x00c for more information on these fields, please refer to the pci specification. 29 mastabort master abort. this pin is set upon master abort. this bit is cleared by writing 1 to it. 0x0 30 syserror system error. this pin is set upon system error. this bit is cleared by writing 1 to it. 0x0 31 detparerr detected parity error. this pin is set upon detection of parity error (in both master and slave operations). this bit is cleared by writing 1 to it. 0x0 bits field name function initial value 7:0 revid revision id. indicates the GT-48002A revision number. 0x10 23:16 subclass subclass. indicates the GT-48002A subclass (0x0 - ethernet). 0x0 31:24 baseclass base class. indicates the GT-48002A base class (0x2 - network device). 0x2 bits field name function initial value 7:0 cacheline cache line. specifies the GT-48002As cache line size (size=8). read only. 0x7 15:8 lattimer latency timer. specifies in units of pci bus clocks the value of the latency timer of the GT-48002A. default is 256 cycles (0xff). 0xff 23:16 headtype header type. specifies the layout of bytes 10 hex through 3f hex. 0x0 bits field name function initial value
switched fast ethernet controller revision 1.2 91 internal register/dram base address register, offset: 0x010 note: this register has special behavior in a plug and play environment (see section 11.4 on page 47). the device number can be changed in this register after reset (see section 7.3 on page 28). interrupt pin and line, offset: 0x03c bits field name function initial value 21:0 - these bits are cleared. 0x0 21 dramaccess 0 - access internal registers 1 - access dram array 0x0 26:22 devnum device number. these bits specify the galnet device number. daddr[4:0] at reset 31:27 baseadd galnet protocol region (gpr) base address. these bits set the base address for the galnet proto- col region. all galnet devices in a system must have the same gpr base address (see text.) 0x1 bits field name function initial value 7:0 intline interrupt line. provides interrupt line routing information. 0x0 15:8 intpin interrupt pin. indicates which interrupt pin the GT-48002A uses. the GT-48002A uses inta in the pci slot. 0x1
GT-48002A switched fast ethernet controller 92 revision 1.2 23. pinout for 208 pin pqfp (sorted by number) pin # signal name pin # signal name pin # signal name 1 vss 36 ddata[5] 71 rxd0[2] 2 vdd 37 ddata[4] 72 rxd0[1] 3 ad[4] 38 ddata[3] 73 rxd0[0] 4 ad[3] 39 ddata[2] 74 rxer[0] 5 ad[2] 40 ddata[1] 75 vdd 6 ad[1] 41 ddata[0] 76 rxclk[0] 7 ad[0] 42 vdd 77 vss 8 ddata[31] 43 vss 78 rxdv[0] 9 ddata[30] 44 cas* 79 crs[0] 10 ddata[29] 45 we* 80 col[0] 11 ddata[28] 46 ras[1]* 81 txen[1] 12 ddata[27] 47 ras[0]* 82 vdd 13 ddata[26] 48 chipsel* 83 txclk[1] 14 ddata[25] 49 daddr[8] 84 vss 15 ddata[24] 50 daddr[7] 85 txd1[3] 16 ddata[23] 51 daddr[6] 86 txd1[2] 17 ddata[22] 52 daddr[5] 87 txd1[1] 18 ddata[21] 53 daddr[4] 88 txd1[0] 19 ddata[20] 54 daddr[3] 89 vss 20 ddata[19] 55 daddr[2] 90 vdd 21 ddata[18] 56 daddr[1] 91 vdd 22 ddata[17] 57 daddr[0] 92 vss 23 ddata[16] 58 vdd 93 rxd1[3] 24 vdd 59 vss 94 rxd1[2] 25 vss 60 txen[0] 95 rxd1[1] 26 ddata[15] 61 vdd 96 rxd1[0] 27 ddata[14] 62 txclk[0] 97 rxer[1] 28 ddata[13] 63 vss 98 vss 29 ddata[12] 64 txd0[3] 99 vdd 30 ddata[11] 65 txd0[2] 100 rxclk[1] 31 ddata[10] 66 txd0[1] 101 vss 32 ddata[9] 67 txd0[0] 102 rxdv[1] 33 ddata[8] 68 vss 103 crs[1] 34 ddata[7] 69 vdd 104 col[1] 35 ddata[6] 70 rxd0[3] 105 vdd
switched fast ethernet controller revision 1.2 93 106 vss 141 limit4 176 ad[17] 107 mdc 142 enautoneg* 177 ad[16] 108 mdio 143 vss 178 cbe[2]* 109 no connect 144 int* 179 frame* 110 mac1led[5] 145 rst* 180 vss 111 mac1led[4] 146 vdd 181 vdd 112 mac1led[3] 147 clk 182 irdy* 113 mac1led[2] 148 vss 183 trdy* 114 mac1led[1] 149 gnt* 184 devsel* 115 mac1led[0] 150 req* 185 stop* 116 forcelinkpass* 151 vss 186 perr* 117 mac0led[5] 152 vdd 187 vss 118 mac0led[4] 153 ad[31] 188 vdd 119 mac0led[3] 154 ad[30] 189 serr* 120 mac0led[2] 155 ad[29] 190 par 121 mac0led[1] 156 ad[28] 191 cbe[1]* 122 mac0led[0] 157 vss 192 ad[15] 123 vdd 158 vdd 193 ad[14] 124 vss 159 ad[27] 194 vss 125 endev* 160 ad[26] 195 vdd 126 rstqueue* 161 ad[25] 196 vss 127 vss 162 ad[24] 197 ad[13] 128 vss 163 cbe[3]* 198 ad[12] 129 vss 164 idsel 199 ad[11] 130 diswd* 165 vss 200 ad[10] 131 enelscrubing* 166 vdd 201 ad[9] 132 skipinit* 167 ad[23] 202 vss 133 scan* 168 ad[22] 203 vdd 134 tristate* 169 ad[21] 204 ad[8] 135 configmode 170 vss 205 cbe[0]* 136 ledclk 171 vdd 206 ad[7] 137 leddata 172 ad[20] 207 ad[6] 138 ledstb 173 ad[19] 208 ad[5] 139 ledmode 174 vss 140 disbufthr* 175 ad[18] pin # signal name pin # signal name pin # signal name
GT-48002A switched fast ethernet controller 94 revision 1.2 23.1 package/pin drawing 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 daaddr[5] daaddr[6] daaddr[7] daaddr[8] chipsel* ras[0]* ras[1]* we* cas* vss vdd ddata[0] ddata[1] ddata[2] ddata[3] ddata[4] ddata[5] ddata[6] ddata[7] ddata[8] ddata[9] ddata[10] ddata[11] ddata[12] ddata[13] ddata[14] ddata[15] vss vdd ddata[16] ddata[17] ddata[18] ddata[19] ddata[20] ddata[21] ddata[22] ddata[23] ddata[24] ddata[25] ddata[26] ddata[27] ddata[28] ddata[29] ddata[30] ddata[31] ad[0] ad[1] ad[2] ad[3] ad[4] vdd vss vdd vss mdc mdio no connect mac1led[5] mac1led[4] mac1led[3] mac1led[2] mac1led[1] mac1led[0] forcelinkpass* mac0led[5] mac0led[4] mac0led[3] mac0led[2] mac0led[1] mac0led[0] vdd vss endev* rstqueue* vss vss vss diswd* enelscrubing* skipinit* scan* tristate* configmode ledclk leddata ledstb ledmode disbufthr* limit4 enautoneg* vss int* rst* vdd clk vss gnt* req* vss vdd ad[31] ad[30] ad[29] ad[28] 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 col[1] crs[1] rxdv[1] vss rxclk[1] vdd vss rxer[1] rxd1[0] rxd1[1] rxd1[2] rxd1[3] vss vdd vdd vss txd1[0] txd1[1] txd1[2] txd1[3] vss txclk[1] vdd txen[1] col[0] crs[0] rxdv[0] vss rxclk[0] vdd rxer[0] rxd0[0] rxd0[1] rxd0[2] rxd0[3] vdd vss txd0[0] txd0[1] txd0[2] txd0[3] vss txclk[0] vdd txen[0] vss vdd daddr[0] daddr[1] daddr[2] daddr[3] daddr[4] 157 158 159 160 161 162 153 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 vss vdd ad[27] ad[26] ad[25] ad[24] cbe[3]* idsel vss vdd ad[23] ad[22] ad[21] vss vdd ad[20] ad[19] vss ad[18] ad[17] ad[16] cbe[2]* frame* vss vdd irdy* trdy* devsel* stop* perr* vss vdd serr* par cbe[1]* ad[15] ad[14] vss vdd vss ad[13] ad[12] ad[11] ad[10] ad[9] vss vdd ad[8] cbe[0]* ad[7] ad[6] ad[5] 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 pinout of 208 lead qfp for the GT-48002A alileo GT-48002A-p-x r
switched fast ethernet controller revision 1.2 95 24. dc characteristics - preliminary/subject to change 24.1 absolute maximum ratings 24.2 recommended operating conditions 24.3 dc electrical characteristics over operating range (tc=0-70 c; vdd=+5v, +/-5%) symbol parameter min. max. unit vdd supply voltage -0.3 6.5 v vi input voltage -0.3 vdd+0.3 v vo output voltage -0.3 vdd+0.3 v io output current 24 ma iik input protect diode current +-20 ma iok output protect diode current +-20 ma tc operating case temperature 0 70 c tstg storage temperature -40 125 c esd 2000 v symbol parameter min. typ. max. unit vdd supply voltage 4.75 5.25 v vi input voltage 0 vdd v vo output voltage 0 vdd v tc case operating temperature 0 70 c cin input capacitance 7.2 pf cout output capacitance 7.2 pf symbol parameter test condition min. typ. max. unit vih input high level guaranteed logic high level 2.0 vdd + 0.5v v vil input low level guaranteed logic low level -0.5 0.8 v voh output high voltage ioh = 2 ma ioh = 4 ma ioh = 8 ma ioh = 12 ma ioh = 16 ma ioh = 24 ma 2.4 v vol output low voltage iol = 2 ma iol = 4 ma iol = 8 ma iol = 12 ma iol = 16 ma iol = 24 ma 0.4 v
GT-48002A switched fast ethernet controller 96 revision 1.2 note: pullup/pulldown resistors are 45kohm minimum, 65kohm typical, 80kohm maximum. 24.4 thermal data table 38 shows the package thermal data for the GT-48002A. galileo recommends the use of heatsink for most sys- tems, especially those with little or no airflow. please check with galileo if you are in doubt as to thermal considerations for your system. 1. operating the device for extended periods of time at the maximum junction temperature may cause permanent damage to this device, resulting in functional or reliability type failures. iih input high current +-1 ua iil input low current +-1 ua iozh high impedance output current +-1 ua iozl high impedance output current +-1 ua vh input hysteresis vdd = 4.5v vdd = 5.0v vdd = 5.5v 0.52 0.54 0.56 0.60 0.61 0.62 mv icc operating current vdd = 5.25v f=33mhz 400 ma table 38: 208 pqfp thermal data parameter definition value q ja thermal resistance: junction to ambient, 0 ft/s airflow 22.5 c/w q jc thermal resistance: junction to case, 0 ft/s airflow 5 c/w t j operating junction temperature 100c t j maximum junction temperature 1 125c symbol parameter test condition min. typ. max. unit
switched fast ethernet controller revision 1.2 97 25. ac timing - preliminary/subject to change (tc= 0-70 o c; vdd= +5v, +/- 5%) notes: 1. all delays, setup, and hold times are referred to clk rising edge, unless stated otherwise. 2. all outputs are specified for 50pf load. 3. all inputs and all outputs also refer to i/o signal behavior. figure 20: output delay from rising edge symbol signals description min max unit clk system clock 33 mhz clk rise/fall time (pci specification rev. 2.1) 1 4 v/ns rst*, frame*, irdy*, trdy*, devsel*, stop*, perr*, par, int* ad[31:0], cbe[3:0]*, gnt*, idsel, req*, serr* see pci specification rev. 2.1. t3 daddr[8:0], ddata[31:0], cas*, ras*, we*, chipsel* delay from clock rising or falling edge 2 17 ns t4 ddata[31:0], rst- queue*, endev* setup 10 ns t5 ddata[31:0], rst- queue*, endev* hold 1 ns t6 ddata[31:0] float delay 2 18 ns t7 ddata[31:0] drive delay 2 12 ns t3 min clk output t3 max
GT-48002A switched fast ethernet controller 98 revision 1.2 figure 21: input setup and hold figure 22: output delay from clock figure 23: output float and drive delay valid t4 t5 clk input t3 min t3 max clk output clk valid valid output t6 t7
switched fast ethernet controller revision 1.2 99 26. functional waveforms figure 24: edo dram read figure 25: edo dram write rc0c1c2c3 d0 d3 d2 d1 clk daddr[8:0] ras* cas* we* ddata[31:0] data sampled at arrow tip rc0 c3 c2 c1 d3 d2 d1 d0 clk daddr[8:0] ras* cas* we* ddata[31:0]
GT-48002A switched fast ethernet controller 100 revision 1.2 26.1 pci read/write cycle the GT-48002A uses standard pci read and write cycles. the longest burst that is executed by at GT-48002A device is eight words. figure 26: pci cycle waveform ad0d1 d7 d6 d5 d4 d3 d2 c be=0 clk req* gnt* ad[31:0] cbe*[3:0] frame* devsel* irdy* trdy* stop*
switched fast ethernet controller revision 1.2 101 27. packaging figure 27: 208 lead pqfp package outline table 39: 208 pqfp package dimensions millimeters symbol min. nom. max. a 1 0.05 0.25 0.50 a 2 3.17 3.32 3.47 b 0.10 0.20 0.30 c 0.10 0.15 0.20 d 27.90 28.00 28.10 e 27.90 28.00 28.10 e0.50 hd 30.35 30.60 30.85 he 30.35 30.60 30.85 l 0.45 0.60 0.75 l 1 1.30 y0.08 q0 7 a 1 he e hd d b a 2 l l 1 0.08(0.003) m y e c
GT-48002A switched fast ethernet controller 102 revision 1.2 table 40: document history document type rev. number date comments preliminary rev. 1.0 2/12/97 first revision of preliminary revision for gen- eral distribution. preliminary rev. 1.1 7/17/97 added/revised sections: enabling/disabling device, interrupts, span- ning tree, mib counter descriptions, theta ja and theta jc values, pci bandwidth, cpu to galnet new_address message, auto- negotiation, mii timing preliminary rev. 1.2 8/19/97 revised sections: rxbuffer threshold enable led, forwarding packets direct to the cpu


▲Up To Search▲   

 
Price & Availability of GT-48002A

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X